안드로이드 애플 리케이션 내부의 테마를 변경하는 방법 Light 나 Dark 테마를 선택할 수있는 설정이있는 활동이 있습니다.Android 변경 테마 내부 앱
설정 활동 나는 이런 식으로 뭔가를 사용할 수 있습니다
public class OTGEnabler extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_otgenabler);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
String theme = sharedPrefs.getString("Choose Theme",null);
if(theme != null && theme.equals("Light"))
{
setTheme(R.style.AppTheme);
}
else
{
setTheme(R.style.AppTheme_AppBarOverlay);
}
}
}
다음은 오류 로그입니다 : 16 :
7월 2일부터 4일까지 40.023 23924-23924/COM은. example.pavle.usbotgenabler E/AndroidRuntime : 치명적 예외 : 주 프로세스 : com.example.pavle.usbotgenabler, PID : 23924 java.lang.RuntimeException가 : java.lang.IllegalStateException : 활동 ComponentInfo {com.example.pavle.usbotgenabler/com.example.pavle.usbotgenabler.otg_enaber.OTGEnabler} 시작할 수 없습니다이 작업을 이미 작업 바있다 창 장식에 의해 제공됩니다. Window.FEATURE_SUPPORT_ACTION_BAR을 요청하지 말고 의 테마에서 툴바를 대신 사용하려면 windowActionBar를 false로 설정하지 마십시오. android.app.ActivityThread.-wrap11에서 android.app.ActivityThread.performLaunchActivity android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476)에서 (ActivityThread.java:2416) (ActivityThread.java)에서 atandroid.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344) at android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper.loop (Looper.java:148) android.app.ActivityThread.main (ActivityThread.java:5417)의 at java.lang.reflect.Metho d.invoke (네이티브 메소드) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) 발생 원인 : java.lang.IllegalStateException :이 액티비티에는 이미 창 장식에서 제공 한 작업 표시 줄 이 있습니다. Window.FEATURE_SUPPORT_ACTION_BAR을 요청하지 말고 의 테마에서 툴바를 대신 사용하려면 windowActionBar를 false로 설정하지 마십시오. com.example.pavle에서 android.support.v7.app.AppCompatActivity.setSupportActionBar (AppCompatActivity.java:133)에서 android.support.v7.app.AppCompatDelegateImplV9.setSupportActionBar (AppCompatDelegateImplV9.java:203) 에서 .usbotgenabler.otg_enaber.OTGEnabler.onCreate android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1107)에서 (OTGEnabler.java:80) android.app.Activity.performCreate (Activity.java:6237)에서 에서 android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2369) android.app.ActivityThread $ H.handleMessage에서 android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) android.app.ActivityThread.-wrap11 (ActivityThread.java) 에서 (ActivityThread.java:1344에서) android.os.Handler.dispatchMessage (Handler.java:102) android.os.Looper.loop (Looper.java:148)에서 android.app.ActivityThread.main (ActivityThread.java:5417)에서 에서 java.lang.reflect.Method의 . 호출 com.android.internal.os.ZygoteInit.main에서 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) 에서 (기본 방법) (ZygoteInit.java:616)
코드는 어떻게됩니까? – Raghunandan
응용 프로그램을 실행할 때 응용 프로그램이 작동을 멈췄습니다. – pavlenis1906
그때 그 추락 pls 관련 로그를 게시 – Raghunandan