Android首选项屏幕标题栏删除
我想去掉首选项活动中的顶部标题栏和所有子屏幕。 我现在面临的问题不是发生在果冻豆上,而是发生在旧版本上。 若我不能删除它,我想改变它的行为,这样子屏幕中的标题就不会从列表项转移 我并没有在这个屏幕上设置任何标题,文本属性是由系统从父屏幕复制的。父屏幕上的标题已由根preferencecategory上的setTitle()设置。2.3.6中存在问题Android首选项屏幕标题栏删除,android,settings,preferenceactivity,Android,Settings,Preferenceactivity,我想去掉首选项活动中的顶部标题栏和所有子屏幕。 我现在面临的问题不是发生在果冻豆上,而是发生在旧版本上。 若我不能删除它,我想改变它的行为,这样子屏幕中的标题就不会从列表项转移 我并没有在这个屏幕上设置任何标题,文本属性是由系统从父屏幕复制的。父屏幕上的标题已由根preferencecategory上的setTitle()设置。2.3.6中存在问题 在AndroidManifest中使用此选项: android:theme="@android:style/Theme.NoTitleBar.Fu
在AndroidManifest中使用此选项:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
在java文件中使用此选项:
requestWindowFeature(Window.FEATURE_NO_TITLE);
您是否可以尝试先删除标题:添加一个超级类,例如: 在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");
}
并在创建FullScreenActivity时调用此方法
所以
你可以做你的活动,所有的子类都可以全屏显示
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>
<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>
因此,在清单中,您的子偏好活动应如下所示:
<Preference
android:key="TODO"
android:title="@string/TODO"
android:summary="@string/TODO"
>
<intent
android:action="com.example.project.preference.child1" />
</Preference>
<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>
正如您所注意到的,这个问题已在最近的Android版本中得到解决。这是由一个错误引起的,其中嵌套的首选项被硬编码为始终使用框架中的内部
主题
或主题_NoTitleBar
。在姜饼发行后的某个时候,这家公司显然合并了
解决此错误的最简单方法(只是为了消除不需要的标题文本)是在首选项屏幕
对象中添加onPreferenceClickListener
,并将标题设置为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;
}
});
particleSettings.setLayoutResource(R.layout.iconpreferencee);
particleSettings.setKey(“屏幕设置”);
particleSettings.setTitle(Html.fromHtml(“+”粒子“+”);
particleSettings.setSummary(Html.fromHtml(“)
+“计数、类型、颜色、大小、吉特…”+“”);
//Android bug 5351628的解决方法
particleSettings.setOnPreferenceClickListener(
新建OnPreferenceClickListener(){
@凌驾
公共布尔onPreferenceClick(首选项优先){
最终首选项屏幕=(首选项屏幕)首选项;
screen.getDialog().setTitle(null);
返回false;
}
});
希望有帮助!:) 它已经设置好了,这个屏幕上的两个栏不是活动的标题栏,我的意思是这些标题栏带有来自首选项屏幕的类别名称,当我触摸粒子时,在第二个屏幕截图上,第一个屏幕截图出现的屏幕,其标题它从第一个列表上的名称转移,它与所有文本属性一起转移。我正在使用setTitle(Html.fromHtml(“一些文本和标记”))设置列表元素的字体和颜色,整个Html从列表元素布局中的“标题”位置转移到子屏幕中的标题。上传您的AndroidManifest.xml代码。您想为单个屏幕或所有活动设置全屏吗?这是全屏应用程序,我想去掉这个带有“设置”和重叠的“粒子”的蓝色,但是你的AndroidManifest.xml代码说只有一个活动,WallperSettings有完整的屏幕模式两个屏幕都是WallperSettings活动,manifest说有四个全屏活动,所有全屏都可以,这不是与窗口首选项相关的问题。
<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>
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;
}
});