如何从Android ActionBar中删除标题文本?
我正在浏览Holo.Light
主题,我似乎无法find重写的魔术风格,以摆脱我的应用第一次启动时简要显示的标题文本。
我怎样才能做到这一点?
尝试:
getActionBar()setDisplayShowTitleEnabled(假)。
我认为这是正确的答案:
<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar"> <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> </style> <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse"> <item name="android:displayOptions">showHome|useLogo</item> <item name="displayOptions">showHome|useLogo</item> </style>
我对Android很陌生,所以如果我错了,那么纠正一下,但是我认为如果你决定使用Action Bar上的导航标签,它们似乎不是完全左alignment的,因为标题文本颜色只是透明的,消失了
<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar"> <item name="android:displayOptions">useLogo|showHome</item> </style>
为我工作。
得到它了。 你必须重写
android:actionBarStyle
然后在你的自定义风格,你必须重写
android:titleTextStyle
这是一个示例。
在我的themes.xml中:
<style name="CustomActionBar" parent="android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/CustomActionBarStyle</item> </style>
在我的styles.xml中:
<style name="CustomActionBarStyle" parent="android:style/Widget.Holo.ActionBar"> <item name="android:titleTextStyle">@style/NoTitleText</item> <item name="android:subtitleTextStyle">@style/NoTitleText</item> </style> <style name="NoTitleText"> <item name="android:textSize">0sp</item> <item name="android:textColor">#00000000</item> </style>
我不知道为什么将textSize设置为零没有办法(缩小文本,但没有让它消失),但将textColor设置为透明的作品。
在你的清单
<activity android:name=".ActivityHere" android:label="">
我在应用程序清单中使用此代码
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:logo="@drawable/logo2" android:label="@string/title_text" android:theme="@style/Theme.Zinoostyle" >
我的标志文件是200 * 800像素,并在主activity.java中使用此代码
getActionBar().setDisplayShowTitleEnabled(false);
它将工作Corectly
您可以更改应用于每个活动的样式,或者如果您只想更改特定活动的行为,可以尝试以下操作:
setDisplayOptions(int options, int mask) --- Set selected display or setDisplayOptions(int options) --- Set display options.
要在操作栏上显示标题,请在onCreate()中设置显示选项
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);
在操作栏上隐藏标题。
getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
详情在这里 。
写下这个声明
setContentView(R.layout.activity_main); getSupportActionBar().setDisplayShowTitleEnabled(false);
使用**getSupportActionbar()**
不**getActionBar()**
否则它可能会给
null pointer exception
使用android:label=""
在清单也有效,但它也将删除应用程序名称
你有两个select:
第一:
getActionBar().setDisplayShowTitleEnabled(false);
如果使用getActionBar()
生成空指针exception,则应该使用getSupportActionBar()
第二
getSupportActionBar().setTitle("your title");
要么
getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().hide();
getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().hide();
希望这会有所帮助
使用以下内容:
requestWindowFeature(Window.FEATURE_NO_TITLE);
如果你只想做一个活动,甚至dynamic的,你也可以使用
ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(actionBar.getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_TITLE);
唯一真正为我工作的是添加:
<activity android:name=".ActivityHere" android:label="" >
虽然所有这些都是可以接受的,但是如果您的活动仅包含主要活动,则可以像这样编辑res\values\styles.xml
:
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources>
我更新了parent
,并将.NoActionBar属性添加到了Android Studios Create Blank Application
向导的Light主题中。
在您的manifest.xml页面中,您可以为您的活动标签提供地址。 该地址在你的values / strings.xml中的某处。 那么你可以把XML文件中的标签的值改为null。
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="title_main_activity"></string> </resources>
我是Android的新手,所以也许我错了…但要解决这个问题,我们不能去清单,并删除活动标签
<activity android:name=".Bcft" android:screenOrientation="portrait" **android:label="" >**
为我工作….
作为一种解决方法,只需添加此行,让您拥有自定义操作/工具栏
this.setTitle("");
在你的活动
我试过这个。 这将有助于 –
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayShowTitleEnabled(false);
应该在setSupportActionBar之后调用getSupportActionBar,从而设置工具栏,否则NullpointerException因为没有工具栏设置。 希望这可以帮助
ActionBar actionBar = getActionBar(); actionBar.setTitle("");