Holo主题 - EditText和Spinner中的不同文本大小

Nat*_*tix 5 android styling font-size

我的文字大小EditTextSpinner默认光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>
Run Code Online (Sandbox Code Playgroud)

...结果如下:

从屏幕截图中您可以看到:

  1. 在文字的大小 Spinner(3)是通过默认有点比在EditText(1).
  2. 如果我将Spinner样式应用于EditText(2),那么它的字体与Spinner的"小"尺寸相同.
  3. 由于某种原因,Spinner-styled EditText也没有任何左边填充.

我想要实现的目标

我创建了一个自定义日期时间选择器组件,它派生自RelativeLayout并包含两个EditTexts.单击后,第一个显示日期选择器对话框,第二个显示时间选择器对话框.

现在,我想这些样式2 EditText秒至喜欢像Spinner,以类似的方式ICS的谷歌日历,它看起来像这样:

第二行是事件EditText位置.我已经进入了相同的日期值成其为在输入,这是某种类型的视图(可能也是一个EditText)的用户点击后会显示一个DatePickerDialog的.

如您所见," 从"和" 到"输入中的文本大小与位置中的文本大小相同,EditText左侧填充也相同.

如何在保持相同字体大小和左填充的同时为EditText实现类似Spinner的外观?

哪里(在android风格的XML文件中)我可以找到各种视图和小部件的textSize,padding等的实际默认值(在这种情况下是EditText和Spinner)?

Nat*_*tix 5

好吧,既然没有其他人回答,这就是我所做的:

我已经应用了试错法来确定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>
Run Code Online (Sandbox Code Playgroud)

这是一个肮脏的解决方案,但它似乎甚至适用于系统中的不同文本大小设置,所以现在我坚持使用它.