我想擺脫偏好活動和所有子屏幕中的頂部標題欄。 我現在面臨的問題不會發生在果凍豆上,而是發生在舊版本上。 如果我不能刪除它,我想改變它的行爲,所以在屏幕上的標題不會從列表項轉移。Android PreferenceScreen標題欄刪除
我沒有在此屏幕上設置任何標題,文本屬性由系統從父屏幕複製。父級屏幕上的標題已由根偏好類別上的setTitle()設置。問題在2.3.6
我想擺脫偏好活動和所有子屏幕中的頂部標題欄。 我現在面臨的問題不會發生在果凍豆上,而是發生在舊版本上。 如果我不能刪除它,我想改變它的行爲,所以在屏幕上的標題不會從列表項轉移。Android PreferenceScreen標題欄刪除
我沒有在此屏幕上設置任何標題,文本屬性由系統從父屏幕複製。父級屏幕上的標題已由根偏好類別上的setTitle()設置。問題在2.3.6
正如您已經注意到,這個問題已經在更新的Android版本中得到修復。這是由嵌套首選項被硬編碼以始終使用框架內部Theme
或Theme_NoTitleBar
的錯誤引起的。在Gingerbread發佈後的某個時候,顯然合併了commit that fixed the bug。
解決此錯誤的最簡單方法(僅用於擺脫不需要的標題文本)是將onPreferenceClickListener
添加到您的PreferenceScreen
對象並將標題設置爲null。對於你發佈的代碼,這是它的樣子:
particleSettings.setLayoutResource(R.layout.iconpreferencee);
particleSettings.setKey("screen_preference");
particleSettings.setTitle(Html.fromHtml("" + "Particles" + ""));
particleSettings.setSummary(Html.fromHtml("<font color=\"#7c71d8\">"
+ "Count , type , color , size, gitter ... " + "</font>"));
// workaround for Android bug 5351628
particleSettings.setOnPreferenceClickListener(
new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference pref) {
final PreferenceScreen screen = (PreferenceScreen) pref;
screen.getDialog().setTitle(null);
return false;
}
});
希望它有幫助! :)
使用此存在於AndroidManifest:在你的java文件
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
它已經設置,這兩個酒吧在這個屏幕arent標題欄從活動,我的意思是那些標題欄與從首選項屏幕中選擇類別名稱,當我觸摸粒子時,在第二個屏幕截圖上,屏幕上顯示第一個屏幕截圖,並將其標題從第一個列表中的名稱傳輸,並使用所有文本屬性傳輸。我使用setTitle(Html.fromHtml(「some text and tags」))來設置列表中元素的字體和顏色,並且這個整個html從列表元素佈局中的「標題」位置轉移到子畫面中的標題。 – ZZZ
使用本:
requestWindowFeature(Window.FEATURE_NO_TITLE);
你可以嘗試先刪除標題:添加一個超類,如(f或爲例):
public class FullScreenActivity extends Activity
在FullScreenActivity,添加方法:
private void addFlags() {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().addFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Log.d(TAG, "add flags");
}
而且調用此方法的onCreate FullScreenActivity
所以......
你可以做你的活動和所有的子類可能是FullScreen by flags。
public class MyActivity extends FullScreenActivity
試試這個測試解決方案...你可以爲每個活動設置標題(如果沒有,使用超類標題)。
以下爲我工作:
創建每個偏好作爲一個單獨的XML和一個單獨的活動!這會阻止這種屬性被繼承。
然後,您可以撥打孩子的偏好從父母偏愛這樣的:
<Preference
android:key="TODO"
android:title="@string/TODO"
android:summary="@string/TODO"
>
<intent
android:action="com.example.project.preference.child1" />
</Preference>
和您的孩子應優先對艙單
<action android:name="com.example.project.preference.child1" />
定義了同樣的動作確保com.example.project .preference.child1是獨一無二的!
現在,價值觀/ styles.xml,補充一點:
<style name="app_theme_no_title_pref" parent="android:Theme.Light">
<item name="android:windowNoTitle">true</item>
</style>
當然,你可以改變安卓Theme.Light到任何你所需要的。
在清單,將它添加到所有偏好活動,家長和孩子:
android:theme="@style/app_theme_no_title_pref"
所以,在你的清單您的孩子喜好的活動應該是這樣的:
<activity android:name=".TODO"
android:label="@string/TODO"
android:theme="@style/app_theme_no_title_pref">
<intent-filter>
<action android:name="com.example.project.preference.child1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
上傳您的AndroidManifest.xml代碼。 – Lucifer
http://pastebin.com/LPgLGqY9 – ZZZ
您想爲單個屏幕或所有活動設置全屏嗎? – Lucifer