2017-01-18 5 views
0

Я создал TabHost, который содержит 2 вкладки с DatePicker и TimePicker:Как изменить стиль от DatePicker и TimePicker программно в Android?

TabHost dayTabHost = (TabHost) layout.findViewById(R.id.tabHost); 
dayTabHost.setup(); 

TabHost.TabSpec dayTabSpec = dayTabHost.newTabSpec("Day"); 
dayTabSpec.setIndicator("Day"); 
dayTabSpec.setContent(new TabHost.TabContentFactory() { 
       public View createTabContent(String arg) { 
        DatePicker datePicker = new DatePicker(getBaseContext()); 
        return datePicker; 
       } 
      }); 
dayTabHost.addTab(dayTabSpec); 

TabHost.TabSpec timeTabSpec= dayTabHost.newTabSpec("Time"); 
timeTabSpec.setIndicator("Time"); 
timeTabSpec.setContent(new TabHost.TabContentFactory() { 
       public View createTabContent(String arg) { 
        TimePicker timePicker = new TimePicker(getBaseContext()); 
        return timePicker; 
       } 
      }); 
dayTabHost.addTab(timeTabSpec); 

Я не знаю, как изменить цвет этих сборщики другой стиль, который используется в приложении в этой ситуации ,

ответ

2

Я нашел свой собственный ответ, и это довольно просто. При инициализации TimePicker и DatePicker отправьте в качестве параметра новый ContextThemeWrapper с настраиваемым стилем, который вы хотите, чтобы изменить стиль.

Style.xml

<style name="CustomPickerTheme"> 
    <item name="colorAccent">@color/Red</item> 
</style> 

MainActivity.class

TimePicker timePicker = new TimePicker(new ContextThemeWrapper(MainActivity.this, R.style.CustomPickerTheme)); 
DatePicker datePicker = new DatePicker(new ContextThemeWrapper(MainActivity.this, R.style.CustomPickerTheme));