android – Holo主题 – EditText和Spinner中的不同文本大小
作者:互联网
我对EditText和Spinner的文本大小有问题,使用默认的灯光Holo主题.出于某种原因,它们默认情况下不一样.
假设我有这个样本布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="EditText default" />
<EditText
style="@android:style/Widget.Holo.Light.Spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="EditText spinner style" />
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@android:array/imProtocols" />
</LinearLayout>
…结果如下:
从屏幕截图中您可以看到:
> Spinner(3)中的文本大小默认略小于EditText(1)中的文本大小.
>如果我将Spinner样式应用于EditText(2),那么它的字体与Spinner具有相同的“小”尺寸.
>由于某种原因,Spinner风格的EditText也没有任何左边填充.
我想要实现的目标
我创建了一个自定义日期时间选择器组件,它派生自RelativeLayout并包含两个EditTexts.单击后,第一个显示日期选择器对话框,第二个显示时间选择器对话框.
现在,我想将这两个EditTexts设置为像Spinner一样,与ICS Google Calendar类似,如下所示:
第二行是事件位置的EditText.我在“输入”输入中输入了相同的日期值,这是某种类型的View(可能也是EditText),在单击时显示DatePickerDialog.
如您所见,From和To输入中的文本大小与EditText位置中的文本大小相同,左边的填充也相同.
如何在保持相同字体大小和左填充的同时为EditText实现类似Spinner的外观?
哪里(在android风格的XML文件中)我可以找到各种视图和小部件的textSize,padding等的实际默认值(在这种情况下是EditText和Spinner)?
解决方法:
好吧,既然没有其他人回答,这就是我所做的:
我已经应用了试错法来确定EditText的实际文本大小和左侧填充,然后手动设置这些参数:
<style name="PickerEditText" parent="@android:style/Widget.Holo.Light.Spinner">
<item name="android:paddingLeft">12dp</item>
<item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
</style>
这是一个肮脏的解决方案,但它似乎甚至适用于系统中的不同文本大小设置,所以现在我坚持使用它.
标签:android,font-size,styling 来源: https://codeday.me/bug/20190517/1123798.html