我想编译时之前设置我的动作条的标题和subtitile。 我有一个办法做到这一点是这样的:
ActionBar ab = getActionBar();
ab.setTitle("My Title");
ab.setSubtitle("sub-title");
但我不想做它的运行时间。 是否有任何XML文件或在那里我可以指定这些标题的任何位置?
我试图做到这一点:
![](https://www.manongdao.com/static/images/pcload.jpg)
编辑:
为什么我想在XML中的原因是,我想在API层面8.支持我的应用程序和方法getActionBar()支持至少11级。
Answer 1:
你可以做这样的事情对于两个版本的代码:
/**
* Sets the Action Bar for new Android versions.
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void actionBarSetup() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar ab = getActionBar();
ab.setTitle("My Title");
ab.setSubtitle("sub-title");
}
}
然后调用actionBarSetup()
中onCreate()
该if
只运行在新的Android版本的代码和@TargetApi
允许代码进行编译。 因此,它使安全的新老版本的API。
另外,您也可以使用ActionBarSherlock ( 见编辑 ),这样你就可以在所有版本的动作条。 你将不得不做一些变化,如让你的活动扩展SherlockActivity
并调用getSupportActionBar()
但是,它是一个很好的全球性解决方案。
编辑
需要注意的是,当这个答案最初写, ActionBarSherlock
,这已经被弃用 ,是去到兼容的解决方案。
如今, 谷歌的appcompat-v7
库提供相同的功能,但由谷歌支持(和动态更新)。 活动希望实现一个ActionBar
必须:
- 延长
AppCompatActivity
- 使用
Theme.AppCompat
衍生物
为了得到一个ActionBar
使用这个库情况下,恰当地命名getSupportActionBar()
时使用的方法。
Answer 2:
在动作条的标题可能在AndroidManifest,在这里:
<activity
. . .
android:label="string resource"
. . .
</activity>
机器人:标记为活动的用户可读的标签。 该标签显示在屏幕上时,活动必须表示给用户。 它常与活动图标一起显示。 如果没有设置该属性,标签作为一个整体来代替应用程序(见元素的标签属性)设置。 活动的标签 - 无论在这里还是被元素设置 - 也是所有活动的意图过滤器的默认标签(见元素的标签属性)。 标签应设置为一个字符串资源的引用,以便它可以被本地化一样在用户界面的其他字符串。 然而,作为一种方便,而你开发的应用程序,它也可以被设置为一个原始字符串。
Answer 3:
试试这个:
android.support.v7.app.ActionBar ab = getSupportActionBar();
ab.setTitle("This is Title");
ab.setSubtitle("This is Subtitle");
Answer 4:
有被谷歌实施的另一种选择,没有人评论说,从支持库V7 ActionBarSupport
,这是兼容的ActionBar
从Android 2.2的最后一个。
如果你改变你的ActionBar
这一点,你可以做getSupportActionBar().setTitle("")
对所有的Android版本。
Answer 5:
不! 你必须在运行时做到这一点。
如果你想使你的应用程序向后兼容,然后简单地检查设备API级别。 如果高于11,那么你可以用动作条小提琴和设置字幕。
if(Integer.valueOf(android.os.Build.VERSION.SDK) >= 11){
//set actionbar title
}
Answer 6:
<activity android:name=".yourActivity" android:label="@string/yourText" />
将这个代码到你的Android清单文件,它应该设置操作栏永远你想要的称号!
Answer 7:
试试这个:
在strings.xml中添加标题和副标题...
ActionBar ab = getActionBar();
ab.setTitle(getResources().getString(R.string.myTitle));
ab.setSubtitle(getResources().getString(R.string.mySubTitle));
Answer 8:
试试这个
只要到您的清单文件。 和你有定义清单档案中的每个活动的标签。
<activity
android:name=".Search_Video"
android:label="@string/app_name"
android:screenOrientation="portrait">
</activity>
这里的变化
机器人:标签= “@字符串/ your_title”
Answer 9:
对于一个活动,你可以用这种方式来指定字幕,随标题,在清单。
表现:
<activity
android:name=".MyActivity"
android:label="@string/my_title"
android:description="@string/my_subtitle">
</activity>
活动:
try {
ActivityInfo activityInfo = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
//String title = activityInfo.loadLabel(getPackageManager()).toString();
int descriptionResId = activityInfo.descriptionRes;
if (descriptionResId != 0) {
toolbar.setSubtitle(Utilities.fromHtml(getString(descriptionResId)));
}
}
catch(Exception e) {
Log.e(LOG_TAG, "Could not get description/subtitle from manifest", e);
}
这样,您只需要指定一次标题字符串,你可以指定它旁边的字幕权。
Answer 10:
您可以设置使用动作栏中的标题AndroidManifest.xml
。 添加标签的activity
<activity
android:name=".YourActivity"
android:label="Your Title" />
Answer 11:
这是很普通的班轮在科特林
supportActionBar?.title = getString(R.string.coolTitle)
文章来源: Setting Action Bar title and subtitle