У меня есть аннотация UltraSuperActivity
унаследовано от абстрактного унаследовано MyActivity
. В OnCreate
из я называю setContentView(R.layout.activity_super);
, который содержит HorizontalScrollLayout
, в котором я добавить макет текущей деятельностиAndroid: программно добавленный макет игнорирует тему
добавить макет, как это в OnCreate
в MyActivity
:
LinearLayout activity_layout = (LinearLayout)inflater.inflate(R.layout.activity_layout, null);
HorizontalScrollView application_contents = (HorizontalScrollView)findViewById(R.id.application_contents);
HorizontalScrollView.LayoutParams cp = new HorizontalScrollView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
some more code...
application_contents.addView(activity_layout, cp);
Inflater устанавливается в UltraSuperActivity
как статические:
if(inflater == null){
inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.setFactory(CustomViewFactory.getInstance()); // we add our factory for our views
}
Я использую MyButton
стиль, который в качестве темы предоставляется каждой кнопке. Это работает в формате activity_super
, но он не работает в activity_layout
и отображается как обычная кнопка Android. Тема установлена в AndroidManifest.xml
. Если я добавлю MyButton
стиль в activity_layout
к кнопке, она работает, но я не понимаю, почему она не использует настроенную тему.
inflater = (LayoutInflater) getBaseContext(). GetSystemService (Context.LAYOUT_INFLATER_SERVICE); сделал волшебство :) спасибо – Ragnar