Articles of android toolbar

Android数据绑定SetSupportActionBar

嗨,我想知道是否有使用Android数据绑定库的此函数的xml标记或如何在没有findViewById()方法的情况下实现此function 谢谢

工具栏位于Appbar顶部 – CoordinatorLayout

我一直在努力使用AppBarLayout / Toolbar / CoordinatorView 。 希望Toolbar 在滚动时向上滑动,并在向下滚动时立即返回(与大多数阅读应用程序一样,g +也是一个示例)。 但是,这就是我得到的: 正常: 一个小卷轴: 全卷轴: 这是我的代码: main__activitycontent : 我一直在阅读很多博客文章,但他们的配置似乎都不适合我。 滚动向上/向下滚动显示的隐藏工作正常,只有Toolbar在appbar上移动。 检查Android视图层次结构我看到Toolbar位于深蓝色appbar上方,它们一起向上移动。 编辑1 从CoordinatorLayout删除fitsSytemWindows=true会导致预期的行为,但无论CoordinatorLayout的bg颜色如何,appbar都会变为白色: 我的猜测是行为实际上没有改变,发生的事情是它不再覆盖appbar,因此工具栏不会覆盖它。 编辑2 @color/colorPrimary @color/colorPrimaryDark @color/colorAccent false true 编辑3 package main; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import com.ee.oef.refactor.R; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { […]

AppBarLayout提升隐藏工具栏

我正在尝试禁用透明AppBarLayout /工具栏下方的阴影。 这是布局: 我已经试过了 app:elevation=”0dp” 和 getSupportActionBar().setElevation(0); 但这使UP箭头不可见 。 我还尝试删除AppBarLayout并仅使用工具栏,但问题仍然存在。 有人有解决方案吗? 编辑: 用以下代码替换AppBarLayout + Toolbar组合: 部分修复了这个问题。 现在只有当设备处于横向模式时,工具栏才会变为不可见! Android Studio布局编辑器向我展示了两个方向的工具栏就好了,所以我真的不知道问题是什么。

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

我正在使用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); …

单击工具栏的后退按钮时不会关闭活动

参考下图, 我想回到之前的活动。 但是点击工具栏上的后退按钮,什么也没发生。 我使用以下代码来实现仍然没有运气。 public boolean onOptionsItemSelected(MenuItem item){ if(item.getItemId() == R.id.home) { finish(); } return true; }

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

我现在正在摸着这个……我有一个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) […]

扩展工具栏的工具栏按钮重力

我试图在我的扩展工具栏中设置我的后导航图标的位置,如下所示: 检查工具栏的来源,我们可以看到以下内容: private void ensureNavButtonView() { if (mNavButtonView == null) { mNavButtonView = new ImageButton(getContext(), null, R.attr.toolbarNavigationButtonStyle); final LayoutParams lp = generateDefaultLayoutParams(); lp.gravity = GravityCompat.START | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK); mNavButtonView.setLayoutParams(lp); } } 通过分配mButtonGravity位置 mButtonGravity = a.getInteger(R.styleable.Toolbar_buttonGravity, Gravity.TOP); 因此,如果没有配置任何内容,我的工具栏的重力应该已经是Gravity.TOP 。 但它看起来像这样:

向活动添加工具栏会导致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(); […]

showAsAction =“always”在工具栏中被忽略

切换到工具栏后,菜单图标出现问题。 虽然我设置了一个菜单项android:showAsAction =“always”但它没有显示图标,我只能find它点击popup图标。 这是myActivity public class myActivity extends AppCompatActivity{ ……… public void onCreate(….){ …………. Toolbar toolbar = (Toolbar) findViewById(….); setSupportActionBar(toolbar); } ………… public boolean onCreateOptionsMenu(Menu menu{ getMenuInflater().inflate(R.menu.menu, menu); return super.onCreateOptionsMenu(menu); } …………. } menu.xml文件 设置和帮助图标都只在popup菜单中。 那么如何在工具栏上显示设置图标?

启用后退按钮时,工具栏标题不居中

我正在尝试在中心显示我的工具栏标题并执行此操作我使用此答案中给出的方法: – 工具栏中心标题 但是,当我通过以下代码在我的activity启用后退按钮时: toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); mActionBar = getSupportActionBar(); mActionBar.setDisplayHomeAsUpEnabled(true); mActionBar.setDisplayShowHomeEnabled(true); 工具栏的标题不会显示在中心,而是偏向右侧偏心。 如何在不受后退按钮或菜单栏影响的 情况下实现居中的标题?