ToolBar和ToolBar的setTitle()方法不生效解决方法
来源:互联网 发布:硕士论文修改 淘宝 编辑:程序博客网 时间:2024/06/16 08:25
xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:minHeight="?attr/actionBarSize" android:popupTheme="@style/ToolbarPopupTheme" android:theme="@style/ToolbarTheme" app:popupTheme="@style/ToolbarPopupTheme" app:theme="@style/ToolbarTheme" > </android.support.v7.widget.Toolbar> <android.support.v4.view.ViewPager android:id="@+id/id_viewpager" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" > </android.support.v4.view.ViewPager> <include layout="@layout/bottom" /></LinearLayout>
style样式
<!-- toolbar菜单样式 --> <style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar"> <item name="android:textColorPrimary">@android:color/white</item> <item name="actionMenuTextColor">@android:color/white</item> <item name="android:textColorSecondary">@android:color/white</item> </style> <!-- toolbar弹出菜单样式 --> <style name="ToolbarPopupTheme" parent="@style/ThemeOverlay.AppCompat.Light"> <item name="android:colorBackground">@color/white</item> <item name="android:textColor">#212121</item> <item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item> </style> <!--新增一个item,用于控制menu--> <style name="OverflowMenuStyle" parent="Widget.AppCompat.Light.PopupMenu.Overflow"> <!--把该属性改为false即可使menu位置位于toolbar之下--> <item name="overlapAnchor">false</item> </style>
办法
其实解决办法很简单,只需要将 Java 代码中的最后三行改成如下所示的代码即可:
mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar); setSupportActionBar(mActionBarToolbar);getSupportActionBar().setTitle("我的标题");
另一种情况
如果你想结合 CollapsingToolbarLayout 和 Toolbar 一起使用,那么上面的解决方式就不适用了,假设我们的 XML 布局文件如下所示:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/confirm_order_mail_layout" android:layout_width="match_parent" android:layout_height="fill_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/confirm_order_appbar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/confirm_order_list_collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|enterAlways"> <android.support.v7.widget.Toolbar android:id="@+id/confirm_order_toolbar_layout" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> </android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout></android.support.design.widget.CoordinatorLayout>
这时我们需要调用 CollapsingToolbarLayout 的 setTitle() 方法:
CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.confirm_order_mail_layout);collapsingToolbarLayout.setTitle("My Title");
如何修改toolbar标题字体大小
<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title"> <item name="android:textSize">18sp</item></style><android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="?actionBarSize" android:id="@+id/toolbar" app:titleTextAppearance="@style/Toolbar.TitleText" />
参考
- 为什么 Android 中 Toolbar.setTitle() 没有效果
阅读全文
0 0
- ToolBar和ToolBar的setTitle()方法不生效解决方法
- ToolBar的setTitle()方法不生效解决方法
- CollapsingToolbarLayout时Toolbar.setTitle不生效
- toolbar setTitle 无效的解决方法
- ToolBar 使用 toolbar setTitle不显示
- Toolbar setTitle()
- ToolBar setTitle不起作用
- Android ToolBar inflateMenu 不生效
- Android ToolBar inflateMenu 不生效
- 为什么 Android 中 Toolbar.setTitle() 没有效果
- 为什么 Android 中 Toolbar.setTitle() 没有效果
- 自定义toolbar和原生toolbar的比较
- Android 适配toolbar后windowSoftInputMode="adjustResize" 不生效
- 改变ToolBar按钮图标的方法
- Android-自定义Toolbar的方法
- ToolBar
- ToolBar
- TOOLBAR
- Android 中的Activity、Window、View之间的关系
- 008-阈下意识|识别商场上的圈套
- unicode与utf-8转换
- 将nodejs代码部署到阿里云服务器
- linux devel包 和 非devel包的区别
- ToolBar和ToolBar的setTitle()方法不生效解决方法
- 基于ZooKeeper的分布式锁和队列
- 代码review若干建议
- visual studio中利用txt文件中的内容进行输入(实参传递)
- Android产品研发(十六)-->开发者选项
- 更改Anaconda下载源
- hibernate组件映射
- npm入门
- Listview嵌套Viewpager滑动冲突解决方案