Я не могу ни получить текст заголовка, ни настраиваемые стили заголовка. Я должен делать что-то очень неправильно, но я не могу понять, что (и если эти две проблемы связаны)Пользовательские стили и заголовки Android полностью игнорируются или дают ошибку
1) Что касается стилей (которые, как представляется, игнорировали) Я попытался это в valyes /styles.xml
<style name="MicWindowTitleBackground">
<item name="android:background">@android:color/black</item>
<item name="android:padding">0px</item>
</style>
<style name="MicWindowTitleTextAppearance">
<item name="android:textSize">20dip</item>
<item name="android:textStyle">bold|italic</item>
</style>
<style name="MicWindowTitle">
<item name="android:textAppearance">@style/MicWindowTitleTextAppearance</item>
</style>
<style name="MicTheme" parent="AppTheme">
<item name="android:windowTitleSize">44dip</item>
<item name="android:windowTitleBackgroundStyle">@style/MicWindowTitleBackground</item>
<item name="android:windowTitleStyle">@style/MicWindowTitle</item>
</style>
И это в AndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@drawable/replace__logo__app_android"
android:label="@string/MicAppName"
android:theme="@style/MicTheme"
android:name="com.example.example.MicApp"
>
2) В качестве альтернативы, я решил, что могу использовать FEATURE_CUSTOM_TITLE, который имел бы дополнительную выгоду, я мог бы изменить название, указанное в строке заголовка. Однако этот код ошибки с сообщением об ошибке, что я * не может совмещать FEATURE_CUSTOM_TITLE с другим названием функции * (который я не к моему знанию ...)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String customTitleStr = getIntent().getExtras().getString("Title");
Boolean customTitleSupported = this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
if ((customTitleSupported) && (customTitleStr != null)) {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.override_titlebar);
final TextView myTitleText = (TextView) findViewById(R.id.myTitleText);
if (myTitleText != null) {
myTitleText.setText(customTitleStr);
}
}
У меня такая же ошибка относительно FEATURE_CUSTOM_TITLE. Может ли это быть проблемой SDK для целевой аудитории или аналогичной? Или что-то установленное в AndroidManifest.xml где-то, так как я получаю сообщение об ошибке? – Tom
Это будет работать отлично. Установил ли 'android: theme =" @ style/CustomTheme "как дочерний тег' application' в файле манифеста? Также см. [Здесь] (http://stackoverflow.com/questions/5753223/create-custom-titlebar-in-android). – Gunaseelan
Я должен быть слепым. То, как вы устанавливаете «андроид: тема», заключается в том, что не ** точно ** тот же метод, что и в моем первоначальном варианте? – Tom