最近在搜一些自定义android标题栏背景颜色和文字居中的方法,最后实现了(虽然加载时还是短暂闪出原来的style),长话短说,结果发现自定义后,Toast不能正常使用
如图
文本并没有居中,纠结了一段时间后,证实了自己的判断,是style.xml文件中,自定义的一个style属性里面的问题
<style name="titleBarStyle" parent="android:Theme.Light">
<item name="android:windowTitleSize">30dp</item>
<item name="android:padding">0dp</item>//问题就出在这里
</style>
默认的padding不是0(可能是6,因为测试了下,取消设置padding属性后发现Toast正常),个人觉得应该是关于文字距离背景框框的上面和左边的距离。找到问题后就好办多了,网上有很多自定义Toast的方法,个人嫌麻烦,结果查询API发现以下方法很不错,亲测成功:
Toast toast=Toast.makeText(UpdateActivity.this, "数据加载成功!", Toast.LENGTH_SHORT);
LinearLayout toastView = (LinearLayout) toast.getView();
toastView.setPadding(20, 12, 20, 20);//具体参数自己设置,查看API看它的意义,我自己觉得这个很合适
toast.show();