标签: android-actionbar

如何更改操作栏上的文本

目前它只显示应用程序的名称,我希望它显示自定义的内容,并在我的应用程序中为每个屏幕显示不同的内容.

例如:我的主屏幕可以在操作栏中显示"page1",而应用切换到的另一个活动可以在该屏幕操作栏中显示"page2".

android android-actionbar

227
推荐指数
7
解决办法
40万
查看次数

如何更改android操作栏标题和图标

我正试图在Android上的ActionBar上做一些事情.

我已经在操作栏的右侧添加了新项目.

如何更改操作栏的左侧?我想更改图标和文本,我想在操作栏中为其他屏幕添加"后退按钮"

Android动作栏

android android-layout android-actionbar

216
推荐指数
8
解决办法
36万
查看次数

删除操作栏下方的阴影

我使用actionbarsherlock.下面的代码片段负责将其背景更改为自定义代码.

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="background">@drawable/actionbar_bg</item>
    <item name="android:background">@drawable/actionbar_bg</item>
    <...>  
</style>

<style name="Theme.MyApp" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <..>
</style>
Run Code Online (Sandbox Code Playgroud)

它适用于actionbarsherlock(在蜂窝下面的版本).但是在ICS中,我在动作栏下面有一个阴影,我不想要.什么样的项目让它消失?

android actionbarsherlock android-actionbar

202
推荐指数
7
解决办法
13万
查看次数

Android L中不推荐使用操作栏导航模式

纵观在为Android"L"预览API diff报告,我看到与在导航模式的所有方法ActionBar类(如setNavigationMode(),addTab(),selectTab(),&C).现已弃用.

文档说明:

不推荐使用操作栏导航模式,内联工具栏操作栏不支持.请考虑使用其他常见的导航模式.

什么是假设的替代品?

另外,"内联工具栏操作栏"是一个新概念吗?我不认为我以前听说过.

android android-actionbar android-navigation android-5.0-lollipop

201
推荐指数
3
解决办法
12万
查看次数

如何自定义ActionBar上的后退按钮

我已经能够使用以下建议自定义操作栏的背景,徽标图像和文本颜色:
Android:如何将ActionBar"Home"图标更改为应用程序图标以外的其他内容?
ActionBar文本颜色
ActionBar背景图片

我要自定义的最后一块是后退按钮图像.它默认是灰色的,我希望它是白色的.更改颜色,指定可绘制或简单地使其透明(并将V形符号添加到我的自定义徽标图像)将起作用.我该怎么做?

android android-actionbar

185
推荐指数
6
解决办法
19万
查看次数

Action Bar和新推出的工具栏有什么区别?

在谷歌推出Material Design之后,我听说过一个名为Toolbar的新小部件类.

什么是工具栏,ActionBar和ToolBar之间的确切区别是什么?

android android-actionbar material-design android-toolbar

185
推荐指数
1
解决办法
7万
查看次数

如何获得ActionBar高度?

ActionBar每次创建一个活动时都试图获得(使用Sherlock)的高度(特别是在ActionBar高度可能改变的情况下处理轮换时的配置更改).

为此,我使用的方法ActionBar.getHeight()仅在ActionBar显示时才有效.

当第一次创建的第一个活动,我可以调用getHeight()onCreateOptionsMenu回调.但是这个方法之后没有被调用.

所以我的问题是我什么时候可以调用getHeight()并确保它不会返回0?或者如果不可能,我如何设置ActionBar的高度?

android android-actionbar

179
推荐指数
8
解决办法
16万
查看次数

使用片段时,在Android导航抽屉图像和向上插入符之间切换

当使用导航抽屉时,Android开发人员建议在ActionBar中"只有那些在导航抽屉中表示的屏幕应该实际上具有导航抽屉图像",并且"所有其他屏幕都具有传统的向上克拉".

详情请见:http://youtu.be/F5COhlbpIbY

我正在使用一个活动来控制多个级别的片段,并且可以使导航抽屉图像在所有级别上显示和运行.

创建较低级别的片段时,我可以调用ActionBarDrawerToggle setDrawerIndicatorEnabled(false)隐藏导航抽屉图像并显示向上插入符号

LowerLevelFragment lowFrag = new LowerLevelFragment();

//disable the toggle menu and show up carat
theDrawerToggle.setDrawerIndicatorEnabled(false);
getSupportFragmentManager().beginTransaction().replace(R.id.frag_layout, 
lowFrag, "lowerFrag").addToBackStack(null).commit();
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是当我导航回到最高级别的片段时,向上克拉仍然显示而不是原始的导航抽屉图像.有关如何"刷新"顶级片段上的ActionBar以重新显示导航抽屉图像的任何建议?


汤姆的建议对我有用.这是我做的:

主要活动

此活动控制应用程序中的所有片段.

在准备新片段以替换其他片段时,我将DrawerToggle设置为setDrawerIndicatorEnabled(false):

LowerLevelFragment lowFrag = new LowerLevelFragment();

//disable the toggle menu and show up carat
theDrawerToggle.setDrawerIndicatorEnabled(false);
getSupportFragmentManager().beginTransaction().replace(R.id.frag_layout,   
lowFrag).addToBackStack(null).commit();
Run Code Online (Sandbox Code Playgroud)

接下来,在覆盖中onBackPressed,我通过将DrawerToggle设置为这样来恢复上面的内容setDrawerIndicatorEnabled(true):

@Override
public void onBackPressed() {
    super.onBackPressed();
    // turn on the Navigation Drawer image; 
    // this is called in the LowerLevelFragments
    setDrawerIndicatorEnabled(true)
}
Run Code Online (Sandbox Code Playgroud)

在LowerLevelFragments中

在我修改过的片段中onCreate, …

android android-fragments android-actionbar navigation-drawer

177
推荐指数
6
解决办法
7万
查看次数

getActionBar()返回null

我有一个奇怪的问题.我正在使用targetsdk 13制作应用程序.

在我的主要活动的onCreate方法中,我打电话getActionBar()来设置我的操作栏.这在Android 3.2模拟器上运行时工作正常,但在使用Android 3.0和3.1时,该getActionBar()方法返回null.

我发现这非常奇怪,我看不出有什么理由会这样做.这是模拟器的错误还是我需要做的事情,以确保我的应用程序有一个操作栏?

解决方案: 我想我找到了解决这个问题的方法.我没有使用setContentView来设置活动的布局.相反,我正在使用fragmentTransaction.add(android.R.id.content, mFragment, mTag)向活动添加片段.这在3.2中运行良好,但在早期的蜂窝版本中,如果您不在方法中使用setContentView,则操作栏显然未设置onCreate().所以我通过setContentView()在我的方法中使用方法修复它,onCreate()并为它提供包含空FrameLayout的布局.我仍然可以fragmentTransaction.add(android.R.id.content, mFragment, mTag)像以前一样使用该方法.

这不是最漂亮的修复,但它确实有效.

android android-3.0-honeycomb android-actionbar

173
推荐指数
13
解决办法
16万
查看次数

在操作栏上显示后退按钮

我正在尝试显示Back buttonAction bar移动上一页/活动或主页(第一次打开).我不能这样做.

我的代码.

ActionBar actionBar = getActionBar();
actionBar.setHomeButtonEnabled(true);
Run Code Online (Sandbox Code Playgroud)

代码在onCreate.

android android-actionbar android-homebutton

166
推荐指数
11
解决办法
29万
查看次数