Articles of android actionbar

ActionBar Lag隐藏标题

我正在为我的应用程序使用ActionBarSherlock ,这是我用来隐藏ActionBar Title的代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayUseLogoEnabled(true); setContentView(R.layout.main_fragment); } 这个问题是,当应用程序启动时,同时显示Logo和Title时会有很短的时间。 这看起来很难看,我怎么能摆脱它呢?

如何区分ActionBarSherlock中的两个菜单项单击?

我最近一直在使用ActionBarSherlock,并且在完成各种教程之后,我编写了这段代码来向Action栏添加项目 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(“Refresh”) .setIcon(R.drawable.ic_action_refresh) .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); menu.add(“Search”)// Search .setIcon(R.drawable.ic_action_search) .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); return true; } 但是,我不知道如何区分两次点击。 虽然我确实发现你必须覆盖onOptionsItemSelected来处理点击,并且还可以使用switch语句来区分点击次数,但是大多数教程都使用来自xml菜单的项ID。 由于我没有在xml中创建菜单,如何在没有id的情况下区分点击。

覆盖动作栏,带有半透明状态栏

我正试图达到这里显示的效果:尼克和男孩们http://www.youtube.com/watch?v=6QHkv-bSlds&t=15m48s 。 我可以让操作栏重叠,但无法弄清楚如何将其扩展到状态栏。 我还想知道他们如何管理导航栏后面的透明黑色背景(但这不是那么重要)。 任何帮助/建议将不胜感激,因为我目前不知道如何做到这一点(我开始担心它可能只是一个图像,而不是一个实际的实现)。 编辑:我知道如何使酒吧完全透明(这是简单的部分)! 我不知道如何扩展操作栏背景以显示在现在的transluscent状态栏后面

ActionBar SearchView未在横向模式下完全展开

使用操作栏搜索界面时,窗口小部件会以纵向模式展开以占据屏幕的整个宽度,但在横向模式下会停止缩短。 有没有办法在SearchView上设置扩展布局参数,以便在用户键入搜索时完全填充操作栏? 见图: http : //i.imgur.com/3z8ZbJA.png 注意:我目前没有使用ActionBar Sherlock 编辑:这是我为了扩展全宽而做的。 searchView.setOnSearchClickListener(new OnClickListener() { private boolean extended = false; @Override public void onClick(View v) { if (!extended) { extended = true; LayoutParams lp = v.getLayoutParams(); lp.width = LayoutParams.MATCH_PARENT; } } });

使用Lollipop SDK在Android工具栏/ ActionBar中选中标题?

我尝试了几种不同的方法,包括这里find的方法(这反过来让我尝试了这个问题的两个最佳答案),以及使用reflection来访问TextView并设置相关方法。 两次尝试都失败了,前者导致根本没有文本被设置为标题(我将文本设置为正确的textview元素),后者设置文本并删除椭圆,但根本没有绘制。 以下是我的反思尝试。 import android.content.Context; import android.support.v7.widget.Toolbar; import android.text.TextUtils; import android.util.AttributeSet; import android.widget.TextView; import android.widget.Toast; import java.lang.reflect.Field; public class MarqueeToolbar extends Toolbar { public MarqueeToolbar(Context context) { super(context); } public MarqueeToolbar(Context context, AttributeSet attrs) { super(context, attrs); } public MarqueeToolbar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public void setTitle(CharSequence title) […]

SDK更新到5.0后,getActionBar()返回null

在我将Android SDK更新到5.0版之后,getActionBar()方法开始返回null,导致我的应用程序在启动时崩溃。 我对导致这种情况的原因一无所知,任何现有的Stackoverflow线程都无济于事。 这是我的清单: styles.xml: 8dp 5dp 8dp 5dp 的themes.xml: @style/ActionBar @style/OverflowButton @style/ActionBar @style/OverflowButton @drawable/menu @color/main @color/main 和我的gradle依赖项: dependencies { compile ‘com.github.jenzz.undobar:library:1.1:api8Release@aar’ compile ‘com.android.support:support-v4:21.0.0’ compile ‘com.android.support:appcompat-v7:21.0.0’ compile ‘com.loopj.android:android-async-http:1.4.5’ compile ‘com.nostra13.universalimageloader:universal-image-loader:1.9.3’ compile ‘com.google.android.gms:play-services:6.1.+’ } 任何帮助是极大的赞赏!

ActionBar项目始终显示在“溢出”菜单中

我正在尝试在操作栏中添加操作项,但项目总是添加到溢出列表中,即使有很多空间。 有什么建议来解决这个问题? 这应该是这样的 main.xml中 MainActivity.java public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } AndroidManifest.xml中 的build.gradle apply plugin: ‘android’ android { compileSdkVersion […]

android:禁用动作栏主页按钮

我们有一个类似文件管理器的应用程序,我们使用操作栏主页按钮作为“进入文件夹结构”操作。 如果用户位于文件夹结构的顶部,则应禁用该按钮。 当用户在子文件夹中时,我们将主页按钮设置为up。 当我们到达顶级文件夹时,我们禁用显示为up。 // Update home actionBar.setDisplayHomeAsUpEnabled(hasParent); 问题是按钮仍然“启用”,因为用户可以按下它可以看到被按下的视觉反馈。 我们希望在没有父文件夹的情况下,在这种情况下完全禁用操作栏主页按钮。 我尝试调用setDisplayShowHomeEnabled() ,但setDisplayShowHomeEnabled()用该按钮,而是完全删除主页按钮。 有任何想法吗? 谢谢。

根据样式更改ActionBar菜单图标

我想根据我使用的样式(暗或亮)使用不同的ActionBar图标。 我无法弄明白是怎么回事,inheritance了我的尝试: @style/customActionButtonStyleDark @style/customActionButtonStyleDark @style/customActionButtonStyleLight @style/customActionButtonStyleLight @drawable/action_search @drawable/action_search_light 我还尝试将@drawable/action_search直接插入到主题样式中,但没有任何效果。 有什么想法?

使用ActionBarSherlock以编程方式在Android中切换选项卡

我找不到任何关于此的信息但是,如何在ActionBarSherlock中以编程方式切换选项卡? 通常,当我想切换视图时,我会使用以下内容: Intent intentSecondView = new Intent(this, SecondView.class); this.startActivity(intentSecondView); 但显然这不起作用,因为选项卡中的视图是片段。 那么有什么方法可以在使用ActionBarSherlock时通过代码在选项卡之间切换? 这就是我当前添加带有标签的操作栏的方法。 在我的onCreate方法中,我有: mViewPager = new ViewPager(this); mViewPager.setId(R.id.pager); setContentView(mViewPager); ActionBar bar = getSupportActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); mTabsAdapter = new TabsAdapter(this, mViewPager); mTabsAdapter.addTab( bar.newTab().setText(“Fragment 1”), MyFragment1.class, null); mTabsAdapter.addTab( bar.newTab().setText(“Fragment 2”), MyFragment2.class, null); 我在AndroidManifest文件中没有添加任何内容来创建选项卡。 这都是编程方式。