Articles of android actionbar

Android获取视图对操作栏项的引用?

当他们第一次启动应用程序时,我正在使用MaterialShowcaseView向用户显示快速教程。 我遇到的问题是,当用户在onOptionsItemSelected中选择该项时,我只能获取操作栏项中项的视图引用。 即 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.my_location: // User chose the “Favorite” action, mark the current item // as a favorite… ShowcaseConfig config = new ShowcaseConfig(); config.setDelay(500); // half second between each showcase view MaterialShowcaseSequence sequence = new MaterialShowcaseSequence(this, SHOWCASE_ID); sequence.setConfig(config); sequence.addSequenceItem(findViewById(R.id.action_my_location), “This is button one”, “GOT IT”); […]

我们是否需要将具有不同dpi的所有图像添加到Android应用程序中

如您所知,Android应用程序具有不同的DPI,并且在Android应用程序中,我们可以在不同的ldpi , mdpi , hdpi和xhdpi文件夹中添加具有不同DPI的hdpi 。 问题是,当我们想要支持所有DPI时,我们应该添加具有所有不同尺寸的图标或仅添加最大尺寸的图标? 我的意思是例如假设我有一个带有图标的动作栏项目。 我是否应该用24×24(在drawable-mdpi文件夹中),36×36(在drawble-hdpi文件夹中),48×48(在drawable-xhdpi文件夹中)添加此操作栏项的图标,….. 或者我只需要在xxxhdpi文件夹中添加一个大小为96×96的图标,android会为其他DPI设置质量好的图标吗?

使用Theme.AppCompat.Dialog时,操作栏看起来被剪切

我希望让我的一个活动看起来像一个对话框,并使用了一个Theme.AppCompat.Dialog主题,但它使得它的动作栏看起来很糟糕(见下文)。 现在背景被剪切到标题字符串的长度,我找不到任何主题属性来修复它。( 可以做些什么来避免它? styles.xml的相关部分: 我使用以下代码启动活动: Intent intent = new Intent(this, DeviceListActivity.class); startActivityForResult(intent, REQUEST_CONNECT_DEVICE);

ActionBar选项卡标题中的自定义字体

我正在尝试在ActionBar选项卡的标题上设置自定义字体。 我已经看到更多开发人员要求在SO上执行此操作的正确方法(例如, 如何自定义操作栏选项卡的字体以及 如何(如果可能)我可以在标签文本的ActionBar中设置自定义字体,并在我的资产中使用字体文件夹? )但没有答案。 到目前为止,我遵循了两种方法: 1)第一个受到这个SO问题的 启发 ,包括为每个标签膨胀自定义布局: LayoutInflater inflater = LayoutInflater.from(this); View customView = inflater.inflate(R.layout.tab_title, null); // a custom layout for the tab title, basically contains a textview… TextView titleTV = (TextView) customView.findViewById(R.id.action_custom_title); titleTV.setText(mSectionsPagerAdapter.getPageTitle(i)); titleTV.setGravity(Gravity.CENTER_VERTICAL); titleTV.setTypeface(((MyApp) getApplicationContext()).getCustomTypeface()); // …Here I could also add any other styling I wanted to… actionBar.getTabAt(i).setCustomView(customView); 这看起来不是一个非常好的方法,因为如果选项卡+操作不适合横向模式下的ActionBar,则选项卡标题将显示在溢出列表(Spinner / Drop-down)中,但所选值显示为空。 […]

设置ActionBar颜色时的Android UI故障

我和朋友一起创建了一个Android应用程序,我有一个与UI相关的奇怪问题。 当在片段之间切换时,有时UI倾向于加扰,创建下面显示的故障。 它发生在我的带有Dalvik运行时的Nexus 5和Android的股票以及我的朋友的带有ART运行时和SlimKat rom的Nexus 4上。 但是在具有Dalvik运行时和4.4.2(AOSB rom)的另一个Nexus 5上无法观察到。 奇怪的是,在我更新到应用程序的最新版本之前,它没有发生。 下面是使用的布局,其中main_fragment是我使用事务放置Fragment的地方。 我发现执行此行时会出现故障,并且我在setBackgroundDrawable方法中放置的内容无关紧要: activity.getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor(getCurrentTheme(activity)))); 还有人有这个问题吗? 或者也许有人知道解决方法或如何使其工作? 编辑:我需要在运行时更改ActionBar颜色(在应用程序设置中更改主题)。

当我更改parent =“@ style / Theme.AppCompat.Light.DarkActionBar”时,popupMenuStyle不起作用

当我改变主题风格时 至 根本不工作。 bold @drawable/menu_dropdown_panel

在将自定义视图应用于它之前,操作栏会显示一段时间

我使用Google提供的支持库中的ActionbarActivity 。 我为我的操作栏创建了一个自定义视图,其中包含附加到右侧的按钮和图像。 问题是一旦活动开始我看到操作栏的默认标题(应用程序名称)和Android启动器图标(甚至不是我的启动器图标)出现在左侧一段时间,然后我的自定义视图应用。 我该如何解决这个问题。 我在onCreateView()之前和之前调用了以下代码,没有运气。 我还有另一个问题,即使我的自定义视图设置后,它仍然保持带有android徽标图标的图标而不是我的启动器图标。 this.getSupportActionBar().setDisplayShowCustomEnabled(true); this.getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setDisplayShowHomeEnabled(false); LayoutInflater inflator = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = inflator.inflate(R.layout.title_view, null); TextView tvTitle = (TextView) v.findViewById(R.id.actionbar_title); this.getSupportActionBar().setCustomView(v); 编辑1:图标问题已解决。 我将支持库添加为单独的项目。 显然,支持库中的启动器图标取代了我的启动器图标。 我从支持库项目中删除了所有资源,现在我的图标正常显示。 当然主要问题仍然存在。

Android操作栏子菜单项显示在操作栏顶部而不是栏下方

我需要在条形图下方显示子菜单,而不是在条形图本身的顶部。 在下面复制我的动作栏xml 在活动中(App还有一个导航抽屉) public boolean onCreateOptionsMenu(Menu menu) { if (!mNavigationDrawerFragment.isDrawerOpen()) { getMenuInflater().inflate(R.menu.main, menu); restoreActionBar(); return true; } return super.onCreateOptionsMenu(menu); }

工具栏字幕被剪切(它不适合高度)

我的问题很简单,但我无法弄清楚: 当我尝试显示字幕时 , 工具栏没有足够的空间显示它并且它被剪切。 工具栏: 是?android:actionBarSize没有足够的高度来正确显示标题和副标题 ? 当我将ToolBar高度设置为wrap_content一切正常,但任何人都可以向我解释我应该如何正确设置高度? styles.xml: @color/colorPrimary @color/colorPrimaryDark @color/colorAccent @color/background1 @color/colorAccent @color/colorAccent @color/colorAccent @color/colorAccent

Android工具栏显示/隐藏空白区域

当用户滚动列表时,我正在尝试隐藏或显示工具栏。 要做到这一点,我正在使用翻译,但会出现一个空格而不是我的actionBar。 如果我使用setVisibility(View.GONE),animation期间将出现空白区域,并在完成时隐藏,这很难看。 这是我的问题的简短video 以下是我的animation制作方法(来自Google I / O应用程序): public void showToolbar(boolean show){ if (show) { toolbar.animate() .translationY(0) .alpha(1) .setDuration(HEADER_HIDE_ANIM_DURATION) .setInterpolator(new DecelerateInterpolator()); } else { toolbar.animate() .translationY(-toolbar.getBottom()) .alpha(0) .setDuration(HEADER_HIDE_ANIM_DURATION) .setInterpolator(new DecelerateInterpolator()); } } 这是我的布局: 还有我的工具栏