网站预约功能怎么做,注册餐饮公司需要什么条件,个人博客网站模板源码,兰溪做网站哪家好网上很多做法都是使用setCustomTitle方法实现的#xff0c;我偏不#xff0c;因为我已经找到了标题的textView了#xff1a;
在show了之后可以拿到标题#xff08;注意一定是show之后才能拿得到#xff0c;create之后拿也是空的#xff09;#xff1a;
TextView title…网上很多做法都是使用setCustomTitle方法实现的我偏不因为我已经找到了标题的textView了
在show了之后可以拿到标题注意一定是show之后才能拿得到create之后拿也是空的
TextView titleView dialog.findViewById(androidx.appcompat.R.id.alertTitle);
然后在调试的过程中给他设置背景确认了它的宽度就是匹配容器的那么理想当然的认为给他设置一个居中属性 titleView.setGravity(Gravity.CENTER) 就ok但是你会发现没有效果。
实际上通过源码布局中可以看到
androidx.appcompat.widget.DialogTitleandroid:idid/alertTitlestyle?android:attr/windowTitleStyleandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_gravitystartandroid:ellipsizeendandroid:singleLinetrueandroid:textAlignmentviewStart/
它是设置了一个textAlignment属性表示文本的对齐方式。所以会使得setGravity看起来不生效。那我们设置它对齐方式为居中对齐就OK了
titleView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
本来还想要在style中对windowTitleStyle统一声明这个textAlignment但是也会发现不生效通过上面的布局源码可知在设置了这个style之后才设置的textAlignment所以你在style中定义textAlignment会被后面替换掉了所以只能通过动态代码设置的方式来让它居中了。 完。