如何解决自定义ToolBar起始位置的求一个空格的位置问题

2887人阅读
android(23)
&&&& android系统中ToolBar的高度是默认的,貌似google不希望我们能修改这个控件的高度,我们可以在xml中修改ToolBar的高度,可是这样的结果我们可以看出来,天啊!ToolBar布局里边的控件全部都乱套了,布局混乱了。这显然是我们不能接受的,其实我们在开发过程中是不用修改这个控件的,但是我们知道一般公司的设计师只会出一套设计图,而且还是IOS的,IOS默认的ToolBar高度是44dp,而android&dimen name=&abc_action_bar_default_height_material&&56dp&/dimen&。可以看出是56dp。给人感觉是要高的多。所以我们强迫症出来了,要修改这个控件,那么今天就给大家一个自定义的完美解决高度的ToolBar控件。直接上代码:
package com.hdceping.www.feirunning.view.
import android.content.C
import android.graphics.drawable.D
import android.support.annotation.ColorI
import android.support.annotation.N
import android.support.v4.media.RatingC
import android.support.v7.app.ActionB
import android.support.v7.widget.TintTypedA
import android.support.v7.widget.T
import android.text.TextU
import android.util.AttributeS
import android.view.G
import android.view.V
import android.view.ViewG
import android.widget.TextV
import com.hdceping.www.feirunning.R;
import java.lang.reflect.F
* Created by 晁东洋 on .
public class MyToolbar extends Toolbar {
private TextView mTitleTextV
private CharSequence mTitleT
private int mTitleTextC
private int mTitleTextA
public MyToolbar(Context context) {
super(context);
resolveAttribute(context, null, R.attr.toolbarStyle);
public MyToolbar(Context context,@Nullable AttributeSet attrs) {
super(context,attrs);
resolveAttribute(context,attrs,R.attr.toolbarStyle);
public MyToolbar(Context context,@Nullable AttributeSet attrs, int defStyleAttr) {
super(context,attrs,defStyleAttr);
resolveAttribute(context,attrs,defStyleAttr);
private void resolveAttribute(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
// Need to use getContext() here so that we use the themed context
context = getContext();
final TintTypedArray a = TintTypedArray.obtainStyledAttributes(context,attrs,
R.styleable.Toolbar,defStyleAttr,0);
final int titleTextAppearance = a.getResourceId(R.styleable.Toolbar_titleTextAppearance,0);
if(titleTextAppearance !=0) {
setTitleTextAppearance(context,titleTextAppearance);
if(mTitleTextColor!=0) {
setTitleTextColor(mTitleTextColor);
a.recycle();
post(new Runnable() {
public void run() {
if(getLayoutParams()instanceof LayoutParams) {
((LayoutParams) getLayoutParams()).gravity= Gravity.CENTER;
public CharSequence getTitle() {
return mTitleT
public void setTitle(CharSequence title) {
if(!TextUtils.isEmpty(title)) {
if(mTitleTextView==null) {
final Context context = getContext();
mTitleTextView=new TextView(context);
mTitleTextView.setSingleLine();
mTitleTextView.setEllipsize(TextUtils.TruncateAt.END);
if(mTitleTextAppearance!=0) {
mTitleTextView.setTextAppearance(context,mTitleTextAppearance);
if(mTitleTextColor!=0) {
mTitleTextView.setTextColor(mTitleTextColor);
if(mTitleTextView.getParent() !=this) {
addCenterView(mTitleTextView);
}else if(mTitleTextView!=null&&mTitleTextView.getParent() ==this) {// 当title为空时,remove
removeView(mTitleTextView);
if(mTitleTextView!=null) {
mTitleTextView.setText(title);
mTitleText=
private void addCenterView(View v) {
final ViewGroup.LayoutParams vlp = v.getLayoutParams();
final LayoutP
if(vlp ==null) {
lp = generateDefaultLayoutParams();
}else if(!checkLayoutParams(vlp)) {
lp = generateLayoutParams(vlp);
lp = (LayoutParams)
addView(v,lp);
public LayoutParams generateLayoutParams(AttributeSet attrs) {
LayoutParams lp =new LayoutParams(getContext(),attrs);
lp.gravity= Gravity.CENTER;
protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
if(p instanceof LayoutParams) {
lp =new LayoutParams((LayoutParams) p);
}else if(p instanceof ActionBar.LayoutParams) {
lp =new LayoutParams((ActionBar.LayoutParams) p);
}else if(p instanceof MarginLayoutParams) {
lp =new LayoutParams((MarginLayoutParams) p);
lp =new LayoutParams(p);
lp.gravity= Gravity.CENTER;
protected LayoutParams generateDefaultLayoutParams() {
LayoutParams lp =new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.gravity= Gravity.CENTER;
public void setTitleTextAppearance(Context context, @RatingCompat.Style int resId) {
mTitleTextAppearance= resId;
if(mTitleTextView!=null) {
mTitleTextView.setTextAppearance(context,resId);
public void setTitleTextColor(@ColorInt int color) {
mTitleTextColor=
if(mTitleTextView!=null) {
mTitleTextView.setTextColor(color);
public void setNavigationIcon(@Nullable Drawable icon) {
super.setNavigationIcon(icon);
setGravityCenter();
public void setGravityCenter() {
post(new Runnable() {
public void run() {
setCenter(&mNavButtonView&);
setCenter(&mMenuView&);
private void setCenter(String fieldName) {
Field field = getClass().getSuperclass().getDeclaredField(fieldName);//反射得到父类Field
field.setAccessible(true);
Object obj = field.get(this);//拿到对应的Object
if(obj ==null)
if(obj instanceof View) {
View view = (View)
ViewGroup.LayoutParams lp = view.getLayoutParams();//拿到LayoutParams
if(lp instanceof ActionBar.LayoutParams) {
ActionBar.LayoutParams params = (ActionBar.LayoutParams)
params.gravity= Gravity.CENTER;//设置居中
view.setLayoutParams(lp);
}catch(NoSuchFieldException e) {
e.printStackTrace();
}catch(IllegalAccessException e) {
e.printStackTrace();
& 由于其中的细节问题还未搞明白,大家可以一起探讨一下。原文地址:/p/61
喜欢就关注我的微信公众号吧,更多干货分享
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:52786次
排名:千里之外
原创:41篇
评论:37条
联系Android高级开发交流群。问题填写请注明是CSDN。
分享编程经验、生活感悟。
(2)(4)(9)(5)(3)(5)(1)(5)(6)(1)(2)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'最近自定义Toolbar之后,发现左侧不能完全填充,总是留一点空白,经过查看新发布的V7的支持包中的style发现了解决方法。
查看Wiget.AppCompat.Toolbar的parent,如下:
&style name="Base.Widget.AppCompat.Toolbar" parent="android:Widget"&
&item name="titleTextAppearance"&@style/TextAppearance.Widget.AppCompat.Toolbar.Title&/item&
&item name="subtitleTextAppearance"&@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle&/item&
&item name="android:minHeight"&?attr/actionBarSize&/item&
&item name="titleMargins"&4dp&/item&
&item name="maxButtonHeight"&56dp&/item&
&item name="collapseIcon"&?attr/homeAsUpIndicator&/item&
&item name="collapseContentDescription"&@string/abc_toolbar_collapse_description&/item&
&item name="contentInsetStart"&16dp&/item&
其中,contentInsetStart这个属性就是引起自定义ActionBar不能完全填充的原因。
解决方法:
在styles.xml中定义新的style继承自Wiget.AppCompat.Toolbar如下:
&style name="ClubToolbar" parent="Widget.AppCompat.Toolbar"&
&item name="contentInsetStart"&0dp&/item&&!
然后在你的style.xml中AppTheme里重写toolbar属性:
name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"&
& =""&@style/ClubToolbar&/item&
也有其他方法,在toolbar的增加以下信息:
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
app:contentInsetStart="0dp“
本文已收录于以下专栏:
相关文章推荐
ActionBar,左边距设0,Toolbar
去除toolbar中左边距问题
实现去除字符串两端空白(相当于trim)功能的正则表达式/^/s*((.|/n)*/S)?/s*$/javascript代码:String.prototype.trim = function () {...
//删除string两端的空白字符和横向制表符\t
/*删除str左边第一个非空白字符前面的空白字符(空格符和横向制表...
1)怎样修改左边这个小箭头的颜色?
2)怎样修改右边这三个点的颜色、怎样把这三个点替换成我自己的图标?
3)怎样让“交易清单”这4个字居中显示?
首先设置Theme为AppCompa...
先上效果图:(录屏软件有点问题,直接用图片了)向上滑动过程展示如图:接下来 布局:
在xml中解释很清楚了
&android.support.design.widget.CoordinatorLa...
在项目中,我们经常使用toolbar作为标题栏,并为之添加菜单选项。但是会出现这用情况:在主界面要实现类似于tab的切换功能,和IOS那种一样,左右切换,对于用toolbar布局来说,这就有点麻烦了。...
Material design出来有些时日,近日项目改版想尝试下新控件。使用ToolBar过程中发现标题无法居中,于是在toolBar标签中引入一个布局显示标题。 &android.support.v...
他的最新文章
讲师:刘文志
讲师:陈伟
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)AutoCAD2012的常见的设置问题及解决方法;问题1:CAD2012的各个图层里的线宽无论设置;能区分显示,这是怎么回事?;(关键字:线宽显示);答:;原因:状态栏里的绘图辅助工具里的“显示/隐藏线宽;解决方法:点击状态栏里的绘图辅助工具里的“显示/;建议:怎么连这么基本的问题都不知道?应该是没有进;问题2:autoCAD2012里绘好的图形对象的;(关
Auto CAD 2012的常见的设置问题及解决方法(新手必看)
CAD 2012的各个图层里的线宽无论设置为多少,显示的宽度好像都是一样的,不能区分显示,这是怎么回事? (关键字:线宽显示) 答: 原因:状态栏里的绘图辅助工具里的“显示/隐藏线宽”按钮没有开启。
解决方法:点击状态栏里的绘图辅助工具里的“显示/隐藏线宽”按钮即可。就是这个: 建议:怎么连这么基本的问题都不知道?应该是没有进行系统的学习吧,我觉得学习软件光看视频是不够的,建议买一本书来从头到尾看一遍,这样可以更系统一点,因为基础很重要,是后续学习的保障。
问题2:auto CAD 2012里绘好的图形对象的几何关系及尺寸参数,还能像Catia、UG、Proe那样动态修改吗? (关键字:几何关系和尺寸参数的动态修改) 答:当然可以,且不止一种方法:
利用约束工具进行确定和修改。 ① 修改几何关系:点击“参数―几何约束―垂直(或其他几何关系)”,然后选择对象。(注:在进行约束操作时,先单击的对象保持位置不变,而后单击的对象将进行位置的变化,以满足指定的几何效果) ② 修改尺寸参数:点击“参数―标注约束―对齐(或其他标注形式)”。(注:在修改参数之前,要先指定参数对象,然后双击标注约束的尺寸数字,然后进行修改调整,图形的尺寸会随着修改值进行相应的变化)
确定几何关系的另一种方法是用捕捉绘制(详见“问题9”); 确定尺寸大的另一种方法是利用“夹点”进行动态编辑或参数编辑。
特别说明:
只有auto CAD 2010及以上版本才提供约束工具。Auto CAD 2009及以下版本只有方法二可供利用。
问题3:能在“草图与注释”、“三维基础”、“三维建模”空间里显示菜单栏吗? (关键句:在“草图与注释”、“三维基础”、“三维建模”空间里显示菜单栏)
答: 说明: 在“草图与注释”、“三维基础”、“三维建模”空间里也能显示菜单栏。
具体的方法: 单击“快速访问工具栏”右侧下拉按钮,在下拉菜单中选择“显示菜单栏”命令即可。
问题4: CAD2012初始化安装时几种自带的工作空间都会显示功能区,可是现在打开,就只有CAD经典有显示了,三维建模和三维基础等等都不显示了,这是哪里设置被我改动了,怎么样恢复原先的显示!希望大家帮帮我!!! (关键字:显示功能区) 答: 原因:可能是你把功能区关闭了。
解决的方法:点击“工具――选项板――功能区”即可恢复。 还有一种更快捷的方式: 输入命令ribbon――回车键或者空格键即可恢复。
问题5:我已经习惯了auto CAD的经典界面,但我又想学习auto CAD 2012草图与注释、三维基础、三维建模空间里的功能区面板,我能让经典界面里的工具栏与功能区同时显示吗? (关键字:工具栏与功能区同时显示)
答: 说明: 当然可以,只要有利于用户使用的设置,auto CAD 里基本都可以做到。
具体的方法:
①将工作区间切换到草图与注释
②打开“视图”选项卡,展开工具栏下拉菜单,选择“AUTO CAD”,这样会显示所有工具栏的名称.
③在希望显示的工具栏前面打勾,这样绘图区即会显示所需的工具栏。
问题6:我喜欢使用auto CAD 2012的经典界面,但是,经典界面里的工具栏里的同类型的工具按钮并没有收录完全,我能自定义工具栏里的工具吗?(也就是说在原有的工具栏中添加或删除部分工具按钮) (关键字:自定义工具栏)
答: 说明: 首先肯定的告诉你:当然可以。一个优秀的软件在界面上一般都支持自定义,auto CAD当然也不例外。 具体的方法:
①点击“视图―工具栏”(也可以在命令行输入TO按空格键或回车键确认;还可以将鼠标移到任意工具栏上点击右键,在弹出的菜单中单击“自定义”),打开“自定义用户界面”对话框。 ②在“自定义用户界面”对话框中,打开“所有文件中的自定义设置”下拉列表。 在下拉列表中找到“工具栏”,并展开,找到你要自定义的工具栏。然后展开工具栏里的已有命令。 ③在对话框的“命令类型”下拉列表中,选择你要添加的工具的类型,这样会显示该类型下的所有工具按钮。 ④将所需的工具按钮拖动到②中所需要自定义的工具栏里的适当位置即可。
补充:在自定义工具栏时可以创建“弹出式子工具栏”
具体方法: 在步骤②中选中需要自定义的工具栏,右键单击,选择“新建弹出”(或选中需要自定义的工具栏中的任意一个按钮,右键单击,选择“新建弹出”),将会创建一个该工具栏的弹出型子工具栏(名为“工具栏+数字”),然后向该子工具栏中添加几个工具按钮即可创建一个具体有效的弹出型子工具栏。
特别说明: 1.该弹出型子工具栏的图标默认为第一个工具的图标。 2.自定义的工具栏(简称“母工具栏”,以示区分)下也将会出现一个与该母工具栏同等地位的工具栏(名为“工具栏1”),且该工具栏具有以下特性: ①不能删除该工具栏,否则自定义的弹出型子工具栏不起作用; ②重命名该工具栏不会更改弹出型子工具栏的名称。如果要使两个工具栏具有相同的名称,必须分别选择并作相同的重命名。
问题7:怎样在auto CAD 2012中新建工具栏? (关键字:新建工具栏)
答:具体方法: ①右键单击任意工具栏,系统弹出所有工具栏,选择“自定义”命令,系统弹出“自定义用户界面”对话框。 ②在“自定义用户界面”对话框中,打开“所有文件中的自定义设置”下拉列表。 ③ 在下拉列表中找到“工具栏”,并右键单击,在弹出的快捷菜单中选择“新建工具栏”命令,此时将会创建一个名称为“工具栏1”的新工具栏。 ④ 在命令列表的下拉菜单中选择你想要添加到新建工具栏里的命令的类型,并找到该目标命令,右键单击,在弹出的快捷菜单中选择“复制”,然后在创建的新工具栏上右键单击,在快捷菜单中选择“粘贴”即可将该命令添加到新建工具栏中。(也可以将所需的命令按钮直接拖动到新建的工具栏里) ⑤ 重复上述步骤,添加其他命令到新建的工具栏中,添加完毕后单击“应用”按钮,即可在绘图区中显示自定义的工具栏。
问题8:问一个更苛刻的问题:我将工具栏自定义(即在原有的工具栏里添加或删除部分工具按钮)后,又只想在自定义的工作空间中保留显示该更改,而在原有的“auto CAD经典”空间中显示原来的工具栏(即没有添加或删除部分工具按钮的工具栏),能做到吗? (关键句:自定义的工具栏仅限在自定义的工作空间中显示)
答: 说明: 各个工作空间里同名称的工具栏都是通用的,更改后,各个空间里的工具栏也会发生相通的的更改,所以如果只使用一个工具栏,肯定不能达到你想要的效果,但是有另外的方法可供选用: 具体方法: 我们可以在更改工具栏前做一个需要更改的工具栏的副本(具体的方法:选择该工具栏,右键单击,选择“重复的”即可创建工具栏的副本),然后将副本按照问题5中的方法进行自定义,然后在你自定义的工作空间中显示该副本,而在 auto CAD经典空间中仍显示工具栏的母本即可。
问题9:怎样打开auto CAD 2012的捕捉模式?
答:直接点击状态栏里的“对象捕捉”图标就可以了。
追问:这个我知道,但是那只能捕捉单一对象上的点(如直线的端点和交点,圆的圆心等等),如果我想捕捉两个对象的关系点就做不到了,例如,当我画好两个圆后,我想再画他们的公切线怎么画?
(关键字:捕捉模式,动态捕捉)
答:这个也不难,有两种方法:
方法一: 先随便画一条直线(大致位置差不多),然后分别对两个圆与该直线进行相切约束即可:点击“参数―几何约束―相切”,然后选择一个圆和该直线作为约束对象。(另一个圆与直线的约束方法类似)
方法二: 1. 先选择直线命令。然后在提示输入点时,按住 Shift 键并在绘图区域内单击鼠标右键,在弹出的捕捉对象中选择“切点”。(或在提示输入点时,在命令行里输入tan,按回车键或空格键确定) 2. 将光标移到所需的对象捕捉位置,绘图区将会显示捕捉点的标记符。 3. 选择对象,光标会动态地捕捉到最近的符合条件的位置。 4. 在提示输入下一点时,方法类似。
特别说明:
只有auto CAD 2010及以上版本才提供约束工具。Auto CAD 2009及以下版本只有方法二可供利用。
问题10:我想系统地学习和了解auto CAD 的各个工具的具体用法,想要一本讲解详细的参考书,希望越详细越好,你能给我推荐一本比较好的参考书吗?谢谢! (关键字:推荐好的参考书)
答:靠,这还要买参考书吗?当你想使用某一个命令时,先选取该命令,然后按一下F1键,Auto CAD将显示这个命令的详细解释和用法,比那些所谓的参考书讲解的详细多了! 当然,如果你想要买参考书的话,我也可以给你推荐一些,例如陈志明主编的《auto CAD 2012实用教程》就不错,里面的截图很多,命令讲解的比较全面,值得一读。
三亿文库包含各类专业文献、中学教育、外语学习资料、幼儿教育、小学教育、各类资格考试、行业资料、高等教育、文学作品欣赏、13AutoCAD 2012常见的设置问题及解决方案等内容。 
 CAD绘图时15个常见问题及解决办法_计算机软件及应用_...“设备及文档设置”一栏中有个“自定义特性,点击...15.cad2012 打开文件总是一个文件一个窗口,虽然也...  如何手动解决此问题 解决问题的方法主要有两个: 启动 Server 服务(并设为自动...解决各种打不开 2页 免费
AUTO CAD... 暂无评价 8页 免费 喜欢...  2012CAD快捷、常见问题_计算机软件及应用_IT/计算机_专业资料。2012CAD快捷、常见...设置 ESC 键退出当前操作 常用问题处理: UCS 坐标轴移动 1、彩色打印时,在 ...  cad2012到14版本经常出错的问题解决方法_计算机软件及应用_IT/计算机_专业资料。...现在安装 Autocad 都会出现这个问题,网上也给出了各种千奇百怪的逗比解决方法,...  CAD 常见问题汇总与解决方法_计算机软件及应用_IT/计算机_专业资料。CAD一...配置不正 缺少确等常见问题解决方法: 请点击以下相关链接根据出现的问题下载即可...  AutoCAD2012图文安装教程以及问题解决方法_电脑基础知识_IT/计算机_专业资料。CAD ...设置完成后点“安装”。 安装路径, 使用默认 的即可 安装进度 等待一段时间,...  新手运用cad会出现的各种问题解决方法_工程科技_专业...cad中遇到的各种问题,例如打印设置,标注文字是问号,...文档贡献者 路人甲1315 贡献于 1/2 ...  2012 的启动启动 AutoCAD 2012 有很多种方法,这里只介绍常用的 3 种方法。 1...可以响 应一系列问题,这些问题用于收集有关 AutoCAD 中的特定功能和设置的信息...如图所示:
1.查看Wiget.AppCompat.Toolbar的parent主题,如下所示:
&style name="Base.Widget.AppCompat.Toolbar" parent="android:Widget"&
&item name="titleTextAppearance"&@style/TextAppearance.Widget.AppCompat.Toolbar.Title&/item&
&item name="subtitleTextAppearance"&@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle&/item&
&item name="android:minHeight"&?attr/actionBarSize&/item&
&item name="titleMargins"&4dp&/item&
&item name="maxButtonHeight"&56dp&/item&
&item name="collapseIcon"&?attr/homeAsUpIndicator&/item&
&item name="collapseContentDescription"&@string/abc_toolbar_collapse_description&/item&
&item name="contentInsetStart"&16dp&/item&
其中,contentInsetStart这个属性就是引起自定义ActionBar不能完全填充的原因。
解决方法:
在styles.xml中定义新的style继承自Wiget.AppCompat.Toolbar如下:
&style name="ClubToolbar" parent="Widget.AppCompat.Toolbar"&
&item name="contentInsetStart"&0dp&/item&&!
然后在你的style.xml中AppTheme里重写toolbar属性:
name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"&
& =""&@style/ClubToolbar&/item&
2.也有另一个解决方法:
直接写到布局里,如下所示:
&android.support.v7.widget.Toolbar xmlns:app="/apk/res-auto"
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorTheme"
app:contentInsetStart="0.0dp"
app:layout_scrollFlags="enterAlways|scroll"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ToolbarStyle" /&
app:contentInsetStart=”0.0dp”即可
本文已收录于以下专栏:
相关文章推荐
ActionBar,左边距设0,Toolbar
    
自定义时,在菜单文件用:android:actionLayout=&@layout/my& 将自定义布局加进来
当要监听ActionBar某个item的...
一般情况多数时menu都是使用一张图片作为一个menu item,少数时候menu用文字,所以绝大多数时候,android:title、android:icon就能满足需求。特殊情况要求menu是一个...
新版本的ADT(一般是2.20以后的版本)在Eclipse内创建工程时(如果你的最小)
他的最新文章
讲师:刘文志
讲师:陈伟
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)废话不多说,直接上代码。然后调用
customizeToolbar(mToolbar);
代入参数即可。亲测有效
public void customizeToolbar(Toolbar toolbar){
// Save current title and subtitle
final CharSequence originalTitle = toolbar.getTitle();
final CharSequence originalSubtitle = toolbar.getSubtitle();
// Temporarily modify title and subtitle to help detecting each
toolbar.setTitle(&title&);
toolbar.setSubtitle(&subtitle&);
for(int i = 0; i & toolbar.getChildCount(); i++){
View view = toolbar.getChildAt(i);
if(view instanceof TextView){
TextView textView = (TextView)
if(textView.getText().equals(&title&)){
// Customize title's TextView
Toolbar.LayoutParams params = new Toolbar.LayoutParams(Toolbar.LayoutParams.WRAP_CONTENT, Toolbar.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.CENTER_HORIZONTAL;
textView.setLayoutParams(params);
} else if(textView.getText().equals(&subtitle&)){
// Customize subtitle's TextView
Toolbar.LayoutParams params = new Toolbar.LayoutParams(Toolbar.LayoutParams.WRAP_CONTENT, Toolbar.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.CENTER_HORIZONTAL;
textView.setLayoutParams(params);
// Restore title and subtitle
toolbar.setTitle(originalTitle);
toolbar.setSubtitle(originalSubtitle);
本文已收录于以下专栏:
相关文章推荐
Toolbar源码分析
通过本篇可以了解到:
1.什么是ToolBar
2.ToolBar 的一些重要属性
3.如何自定义ToolBar
今天做一个项目:需要用到ToolBar的Title居中,
网上的流行的解决办法是在ToolBar里面嵌套一个TextView,布局如下:android.support.v7.widget.Toolba...
一、居中方法android自带的toolbar有设置title的功能,但是设置的title都是居左的,但是很多需求都是要title居中,主要的方法就是:不使用setTitle,而是在toolBar的x...
在项目的开发中,使用苹果手机的产品,出的界面效果图极有可能(我这里是一定)完全是按照苹果的界面风格来出的,例如界面顶部的title文字位置是水平居中
那么问题来了,当我们使用Too...
在自定义toolbar的布局时,如果内部使用的布局继承自ViewGroup(比如LinearLayout、RelativeLayout等),则会在左侧出现一块空白,导致整个toolabr布局右移。代码...
人真的是不能偷懒,拿写代码来说,一些常用的代码,如果个人不费点功夫把它记录下来的话,下次再用到,又要费功夫去搜索。所以,遇到好的资源,还是老老实实记录保存一下吧。
    Toolbar的标题栏,只...
最近需要做一个界面,看了下需求,觉得可以使用Toolbar来做。但是后来发现Toolbar默认的标题的位置是靠左的,而我想要的是居中的。经过搜索在Stack Overflow上找到了答案。
当CollapsingToolbarLayout与ToolBar如何设置Title居中
项目标题栏准备用toolbar实现.
首先toolbar继承于viewgroup,所以咱可以自由在里面写控件跟样式.
但是我使用时发现一个奇葩的问题.
&android.support.v7...
他的最新文章
讲师:刘文志
讲师:陈伟
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 不占位置的空格 的文章

 

随机推荐