안드로이드 스튜디오 0.4.5
안드로이드 문서 작성을 위한 맞춤형 대화상자는: http://developer.android.com/guide/topics/ui/dialogs.html
사용자 정의 대화상자의 스케쳐내 대화상자의 api 를 사용하는 대신 표시하십시오 비호환성의 대화상자의 활동이 아닌 수 있습니다. 간단히 만들 수 있는 하나의 활동 및 그 주제로 설정되었습니다 드미트로이디아로그 분명히, 이 ',' < activity> 요소:
<activity android:theme="@android:style/Theme.Holo.Dialog" >
그러나 이 때 다음과 같은 예외가 들어가서 찾았다.
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
나는 내가 지지하는 can& 사용하여, 다음과 같은 10 개 이상의 뭔가를 위해 t # 39 분:
minSdkVersion 10
targetSdkVersion 19
나는 내 스타일 다음과 같다.
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
그리고 제 활동에 대한 분명한 내가 다.
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:theme="@android:style/Theme.Holo.Light.Dialog"
android:name="com.ssd.register.Dialog_update"
android:label="@string/title_activity_dialog_update" >
</activity>
이렇게 해야 할 일이 있었는데, as I 호핑 대화상자의 만드는 것은 이미 완료한 레이아웃뿐만.
내가 어떻게 이 문제를 어떻게 수립하였습니다 말해보게나 아무나 얻을 수 있다.
그 이유는 틀렸다니까 없기 때문에 이 문제는 활동 때문에 시도 중인 '는' 확장 '을 주제로 하는 대화상자의 적용하십시오 악타이온바라크티비티 아프콤파트' 주제로 적용됩니다.
이 경우 '에서' 와 '작업' 을 상속 jave 변경하십시오 악타이온바라크티비티 남겨두십시오 분명한 것은 물론, '비' 의 값을 시메드라프콤파트 대화상자의 테마
일반적인 규칙을 에로남이네 스케쳐내 지원할 수 있어야 하며, 그 이전 버전의 코드에 아프콤파트 '안드로이드' 테마 및 java 코드를 마카베컴파타스티비티 연장해야 한다 ''. * # 39, 필요한 경우 이 같은 활동이 doesn& t care about you only 최신 버전 및 기능 지원, 안드로이드, 하지만 plain old java 코드를 테마를 적용할 수 있습니다 '활동,' 확장해야 합니다.
참고: "에서 변경할 때 마카베컴파타스티비티 ' (또는 하위 클래스여야 악타이온바라크티비티', ') 로 활동,', '변경하십시오 " support", 다양한 통화를 합니다. , " 없이 해당 호출하십시오 support". 그래서 '대신', '크레스포르트 프레이크망만거 호출하십시오 제프레이크망만거'.
위에 있는 설명과 답변을 복사 @MarkKeen as I 경식도 동일한 문제입니다.
내가 맨 위에 경식도 오류가 있다고 경고를 추가되든지 로그하고 들어온넘 뒤 나도 대화. 나는 분명히 모든 관련 정보를 스타일. I 변경일 경고 구성기는 변경하여 컨텍스트로 참조입니다 내 문제가 완치가 가능하다.
new android.support.v7.app.AlertDialog.Builder(getApplicationContext())
다음과 같이 사용된다.
new android.support.v7.app.AlertDialog.Builder(this)
그리고 더 이상 문제.
sdk 는 10 분 '에서 사용할 수 있습니다.' 마티오노바 apiu 레벨 11. 그래서 당신이 약간만이라도 아프콤파트 '에서' 의 지원 라이브러리를 사용하여 10 사용해야 할 수 있는 하위 시메드라프콤파트 '또는' 같은.
사용
android:theme="@style/Theme.AppCompat" >
맨 위에 원하지 않을 경우 또는 작업 표시줄
android:theme="@style/Theme.AppCompat.NoActionBar">
자세한 정보 @
http://developer.android.com/guide/topics/ui/actionbar.html
편집:
Op 게시물로의 오해를 불러 일으킬 수도 있겠지요.
Op 깔려 있는 것 같다고 대화상자의 작업을요 테마. 따라서 이미 제안한 '대신' 악타이온바라크티비티 Bobbake4 확장하십시오 활동, ''.
또한 아래 링크를 속성에 대화상자의 여바바 @
나는 이 문제가 발생하는 경우에도 아프콤파트 인턴이었을때를 '' 내 테마 테마 및 내 활동 인턴이었을때를 '마카베컴파타스티비티' (또는 '작업' 에 대한 답을 제안됩니다 other& # 39 등). 그래서 다시 실행하십시오 재구축합니다 클리닝했습니다., 프로젝트.
( 구축하십시오 > -; 프로젝트 정리. &Gt 구축하십시오 -; 재구축합니다 프로젝트. &Gt 실행하십시오 -; 실행하십시오 )
그냥 희망을 줍니다! *
이게 고정식입니다 it for me. '분명히' 에서 정의된 언크리치, 나는 그 대신 specifying search. 각 활동에 대해 '악타이온바라크티비티 확장하는':
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.MyAppTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity_layout);
...
}
Here '는' 및 '의' 시메드라프콤파트 미아프스메 하위 xlm 정의되어 있습니다. 참고로 search. 설정해야만 '스페리언크리치' 와 '세콘텐트비에프'.
저의 경우는 안 v21 값을 파일 내 res 디렉터리입니다. 그럼 내가 만든 항목이없습니다 다음과 같은 코드를 말했다.
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
If you need to extend 악타이온바라크티비티 스테일.1믈 따라 합니다.
<!-- Base application theme. -->
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
Search. 변경하십시오 필요한 활동까지입니다. 이 방법은 봐요.
<activity
android:name="HomeActivity"
android:screenOrientation="landscape"
android:theme="@style/Theme.AppCompat.Light"
android:windowSoftInputMode="stateHidden" />
전 그 때 손상됨 장치에 사용하는 경우에도 아니하였으매 Theme.AppCompat* 활동 등 삼성 관련된 이상한 최적화 때는기대어 삼성전자에 대한 근본 원인이 되었다.
- if one activity of your app has theme not inherited from Theme.AppCompat
- and it has also `android:launchMode="singleTask"`
- then all the activities that are launched from it will share the same Theme
그냥 내 솔루션이므로 제거 ',' singleTask" 안드로이드 라운흐무드 = ".
하지만 이 같은 문제를 해결할 때 내가 경식도 i put on 분명한: 테마 = " @style/Theme.AppCompat., 안드로이드.
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name_test"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat">
...
</application>
가져다줄래요 콘테스테뮤라프 was 솔루션을 사용할 수 있습니다.
private FloatingActionButton getFAB() {
Context context = new android.support.v7.view.ContextThemeWrapper(getContext(), R.style.AppTheme);
FloatingActionButton fab = new FloatingActionButton(context);
return fab;}
https://stackoverflow.com/questions/34555834/android-how-to-create-fab-programmatically 에서
난 이미 활동을 통해, 안드로이드, 테마 테마 ',' < " @android:style/Theme.Dialog" > 데사용됩니다 내 모습을 대화. = 쉐퍼드도 아프위짓 비슷한 문제를 안고 있었다.
내가 이 오류를 해결할 변경하여 활동 같은 코드 (아래 참조).
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.Theme_AppCompat_Dialog); //this line i added
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
}
저의 경우는 문제가 나타나는 등 표시하십시오 대화상자의 찾았다.
그래서 그냥 , , 및 " this*&quo 재장착하여 제바스콘티스츠 (), 현재는 작동합니까 강타했다.
Dialog.showAlert(this, title, message,....);
물론 내가 한 적도 있어 이 문제는 계속 사용할 수 있으며, 이러한 단계만으로 시행하십시오 해결하십시오 홀로 테마 하였다.
우선 내가 재장착하여 이 가져오기의:
import android.support.v7.app.AppCompatActivity;
이를 통해 1:
import android.app.Activity;
내 에서 확장명은 바꿨다.
public class MyClass extends AppCompatActivity {//...
이:
public class MyClass extends Activity {//...
또한 이 가져오기의 변경할 수 있다.
import android.support.v7.app.AlertDialog;
이 가져오기의:
import android.app.AlertDialog;
그리고 분명한 활동 수준에서 테마를 태그를 사용할 수 있습니다.
android:theme="@android:style/Theme.Holo.Dialog" />
마지막으로, (다른 클래스를 사용할 수 있는 경우가 아니면 프로젝트의 v7 아프콤파트) 프로젝트에 gradle 이 항목을 선택하면 깨끗하고 재구축합니다 삭제할지를 app 에서 파일을 구축하십시오 레벨:
compile 'com.android.support:appcompat-v7:23.2.1'
프로젝트의 경우 다른 클래스를 사용할 수 있는 깨끗하고 재구축합니다 v7 아프콤파트 그럼 그냥 프로젝트.
많은 솔루션을 오류가 있습니다.
이 때문에 큐피드라는 테마를 적용할 경우 이전 버전 sdk 에서 머티리얼 디자인 스타일로 '21' '네가 만일 않도록 할 수 있다.' 악타이온바라크티비티 单捞磐啊 아프스메 아프스메 대한 자신의 사용자정의를 변경해야 할 수 있는 유일한 스테일스.1믈 (이전 sdk 21) 에 대한 주제로 어플리케이션 호환성 때문에 이 방법으로 상속할 수 있습니다.
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
이를 위해.
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">