Articles of android actionbaractivity

如何删除默认工具栏菜单项并替换为不同的图标?

我正在使用v7.widget.Toolbar支持库和v7.app.ActionBarActivity的工具栏。 当onCreateOptionsMenu在工具栏上膨胀时,我看到工具栏最左侧的标准“后退”箭头和工具栏最右侧的标准“溢出”点。 我想隐藏或禁用这些默认图标,并替换为另一组Android推荐图标。 有关如何修复的任何想法? MyActiviy.java: 公共类MyActivity扩展ActionBarActivity { private Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); { toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar != null) { setSupportActionBar(toolbar); getSupportActionBar().setTitle(“sc”); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } … @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return super.onCreateOptionsMenu(menu); …

使用片段/工具栏返回导航

我现在正在摸着这个……我有一个ActionBarActivity来加载一个初始Fragment – 原始菜单在活动中膨胀。 现在,我有一个导航栏,当选择一个项目时,它会加载一个不同的片段并将其添加到backstack。 当我这样做时,有几件事我想设置: 将主页设置为向上指示符 使主活动中的选项菜单无效 对于Fragment,Set的选项为true 确保向上指示器正确导航回原始片段 有些奇怪的事情正在发生 – 向上指示器仅出现一次,并且不像后退按钮那样,虽然我已经使新菜单无效并充气,但新菜单会附加到原始活动菜单。 编辑:好的我已经解决了附加问题 – 忘了在onCreateOptionsMenu方法中添加menu.clear() 。 我的导航抽屉布局对所有菜单项都有onClick方法,这些方法会触发另一个片段的加载: public void navItemClick(View view) { switch (view.getId()) { case R.id.ripSMS: mNavigationDrawer.toggleHome(false); getSupportActionBar().setDisplayHomeAsUpEnabled(true); FragmentTransaction mTrans = getSupportFragmentManager().beginTransaction(); mTrans.replace(R.id.voiceover_frame_layout,new MessageFragment(),”main_ui”) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).addToBackStack(“msg”).commit(); break; case R.id.ripEmail: break; case R.id.ripSettings: break; } mNavigationDrawer.closeDrawer(); } toggleHome: public void toggleHome(boolean show) { mDrawerToggle.setDrawerIndicatorEnabled(show); if (!show) […]

向活动添加工具栏会导致NoClassDefFoundError

我正在尝试为活动添加工具栏。 但是我收到了这个错误: java.lang.NoClassDefFoundError: android.support.v7.app.ActionBarActivityDelegateBase$2 at android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:304) at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:225) at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102) at com.loqooapps.Startup.Startup.onCreate(Startup.java:198) at android.app.Activity.performCreate(Activity.java:5933) 该活动扩展了一个Base活动,而在Base活动中,我扩展了ActionBarActivity。 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); setContentView(R.layout.startup); ButterKnife.inject(this); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); if(toolbar != null) { setSupportActionBar(toolbar); getSupportActionBar().setTitle(“DEMO”); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } baseApp = (App) this.getApplicationContext(); yumeInterface = YuMeInterface.getYuMeInterface(); yumeInterface.setHomeView(this); boolean bInitSuccess = yumeInterface.initYuMeSDK(); […]

startActionMode,appcompat出错

我在我的应用程序中使用了SherlockActionBar ,但在我开始使用appcompat之后。 并得到错误 “Activitytypes中的方法startActionMode(ActionMode.Callback)不适用于参数(PageFragment.ActionModeCallback) ” 在原始 mActionMode = getActivity().startActionMode(new ActionModeCallback()); 请帮帮我,我做错了什么?

我的ActionBarActivity布局中的奇怪行为

我遇到了一个我还没见过的问题。 有时我的ActionBarActivity中的布局xml文件显示奇怪的行为。 某些线性布局和自定义样式操作栏的背景颜色显示应用颜色的不同阴影。 有时它按预期完美运作。 这是我的问题的截图。 预期结果 有时我会这样 我的布局 <!– –> 我的自定义操作栏 @style/MyActionBar @style/MyActionBar @color/theme_red @color/theme_red true showTitle|showHome|homeAsUp @android:color/transparent 这些问题仅出现在某些设备中。 我希望有人可以帮我解决这个问题。

OnPause后触发OnClickListener?

我正在使用的项目使用视图展示器抽象。 这是所有主要类的简化版本。 抽象活动(Wire Presenter实例,带View) public abstract class MvpActivity extends ActionBarActivity { protected Presenter mPresenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mPresenter = getPresenterInstance(); } @Override protected void onResume() { super.onResume(); mPresenter.onResume(this); } @Override protected void onPause() { mPresenter.onPause(); super.onPause(); } } 视图界面 public interface MyView { void redirect(); } 视图实现 public class MyActivity extends […]

无法删除活动中的标题栏

我想在我的活动之上删除标题。 我尝试了这两种方式,但不是api级别8。 1: true true 2: this.requestWindowFeature(Window.FEATURE_NO_TITLE); 知道为什么这对api 8无效吗? 一旦我设法在api 8删除它,但我不记得如何。 编辑: 解决了! 问题是this.requestWindowFeature(Window.FEATURE_NO_TITLE)在API 8上不起作用,并且true不起作用,但actionBar.hide()有效,原因是getSupportActionBar()返回null之前使用过两个选项之一,我只是忘了删除它们。 当我删除一个我添加其他(多么愚蠢!)谢谢所有! (抱歉英文不好)

如何在v4.DrawerLayout中纠正NullPointerException?

我试图实现导航抽屉,但由于某些原因我得到这个空指针exception 。 我花了很多时间,但徒劳无功。 这是我的代码的一部分。 我无法理解为什么它返回空指针exception。 我是否需要导入任何库? 提前致谢。 package com.motobeans.productions.aloha; import android.app.FragmentManager; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarDrawerToggle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import java.util.Locale; import android.app.Fragment; import android.support.v7.widget.Toolbar; import android.widget.ImageView; import android.widget.ListView; public class Activity_test extends ActionBarActivity { private String[] mPlanetTitles; private DrawerLayout mDrawerLayout; […]

在片段活动中隐藏操作栏

我正在为应用程序创建框架,并希望隐藏登录活动的操作栏。 该应用程序将完全由片段组成,因为它们非常棒。 我可以隐藏操作栏以适应我的活动,但每次运行应用程序时,我都会看到我的膨胀空白片段和默认操作栏大约2秒钟,然后才能设置为登录片段充气。 关于我应该如何/在哪里隐藏动作栏,(同时保持我的框架)阻止这种情况发生的任何想法? LoginActivity.java public class LoginActivity extends SingleFragmentActivity { @Override protected Fragment createFragment() { return new LoginFragment(); } } SingleFragmentActivity.java public abstract class SingleFragmentActivity extends ActionBarActivity { protected abstract Fragment createFragment(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if(this instanceof LoginActivity){ ActionBar actionBar = getSupportActionBar(); actionBar.hide(); } setContentView(R.layout.activity_fragment); FragmentManager fm = getSupportFragmentManager(); Fragment […]

getSupportActionBar()。setCustomView(view)不会填充整个操作栏

我正在尝试设置我的应用程序的自定义视图,我所做的布局并没有填满整个操作栏。 我尝试了很多样式设置,但没有一个适合我。 这是我的活动代码 View view = getLayoutInflater().inflate(R.layout.actionbar_customized_home, null); getSupportActionBar().setDisplayShowCustomEnabled(true); getSupportActionBar().setCustomView(view); 这里的布局设置为视图 ![enter image description here][1] 甚至像导航器这样的菜单项的背景如何将我的自定义视图作为背景颜色? 我非常感谢你的帮助