【发布时间】:2011-10-05 01:38:52
【问题描述】:
我正在浏览 Holo.Light 主题,但我似乎找不到可以覆盖的神奇样式来消除我的应用首次启动时短暂显示的标题文本。
我该怎么做?
【问题讨论】:
我正在浏览 Holo.Light 主题,但我似乎找不到可以覆盖的神奇样式来消除我的应用首次启动时短暂显示的标题文本。
我该怎么做?
【问题讨论】:
试试:
getActionBar().setDisplayShowTitleEnabled(false);
对于 v.7:
getSupportActionBar().setDisplayShowTitleEnabled(false);
【讨论】:
onCreate 中的MainActivity.tk 中。这是正确的解决方案,忽略上面的 cmets。
我认为这是正确的答案:
<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>
【讨论】:
Widget.Sherlock.Light.ActionBar.Solid.Inverse 的资源。我应该使用哪个父母?
我对 Android 很陌生,所以如果我错了请纠正我,但我认为如果您决定使用操作栏上的导航选项卡,它们似乎没有完全左对齐,因为标题文本颜色只是透明的并没有消失。
<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:displayOptions">useLogo|showHome</item>
</style>
为我工作。
【讨论】:
知道了。你必须覆盖
android:actionBarStyle
然后在您的自定义样式中,您必须覆盖
android:titleTextStyle
这是一个示例。
在我的主题.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 设置为透明有效。
【讨论】:
android:visibility=gone 没有效果吗?或者更好的是,为什么setDisplayShowTitleEnabled 在加载栏时仍然显示标题文本?
在你的清单中
<activity android:name=".ActivityHere"
android:label="">
【讨论】:
application 选项卡中指定您的应用名称,即<application android:label="your_app_name">...,它似乎有效
在
下面写下这个语句setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayShowTitleEnabled(false);
如果扩展 AppCompactActivity 使用 getSupportActionbar() 如果扩展 Activity 使用 getActionBar() 否则它可能会给
null pointer exception
在AndroidManifest.xml 中使用android:label="" 进行活动也可以,但您的应用不会出现在Recently used apps 中
【讨论】:
您有两个选择:
第一个:
getActionBar().setDisplayShowTitleEnabled(false);
如果使用getActionBar()产生空指针异常,你应该使用getSupportActionBar()
第二
getSupportActionBar().setTitle("your title");
或
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();
【讨论】:
您可以更改应用于每个活动的样式,或者如果您只想更改特定活动的行为,您可以尝试以下操作:
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);
详情here.
【讨论】:
我在应用清单中使用此代码
<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 像素 并在 main activity.java 中使用此代码
getActionBar().setDisplayShowTitleEnabled(false);
它会正常工作
【讨论】:
我试过这个。这会有所帮助 -
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar 应该在setSupportActionBar 之后调用,从而设置工具栏,否则,NullpointerException 因为没有设置工具栏。 希望这会有所帮助
【讨论】:
唯一真正对我有用的是添加:
<activity
android:name=".ActivityHere"
android:label=""
>
【讨论】:
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();
希望这会有所帮助
【讨论】:
如果您只想为一项活动执行此操作,甚至可能是动态的,您也可以使用
ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(actionBar.getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_TITLE);
【讨论】:
使用以下内容:
requestWindowFeature(Window.FEATURE_NO_TITLE);
【讨论】:
作为一种解决方法,只需添加此行以防您有自定义操作/工具栏
this.setTitle("");
在您的活动中
【讨论】:
虽然所有这些都可以接受,但如果您的活动只包含一个主要活动,您可以像这样编辑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 Wizard 的 Light 主题。
【讨论】:
只需从 AppCompatActivity 扩展您的 java 文件并执行以下操作:
ActionBar actionBar = getSupportActionBar(); // support.v7
actionBar.setTitle(" ");
【讨论】:
在您的 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="" >**
为我工作....
【讨论】:
ActionBar actionBar = getActionBar();
actionBar.setTitle("");
【讨论】: