其他分享
首页 > 其他分享> > android – Holo主题 – EditText和Spinner中的不同文本大小

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