2

是否可以在API 17android 中操纵文本字段的样式API 8

与高级 API 相比,低级 API 中的文本字段非常不同。有什么方法可以为这些组件提供统一的外观和感觉?

4

3 回答 3

4

要使用 Android v8 EditText 样式,请更改 editText 的背景:

android:background="@android:drawable/edit_text"

或使用 v8 中使用的整个样式:

<style name="Widget.EditText">
    <item name="android:focusable">true</item>
    <item name="android:focusableInTouchMode">true</item>
    <item name="android:clickable">true</item>
    <item name="android:background">@android:drawable/edit_text</item>
    <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
    <item name="android:textColor">@android:color/primary_text_light</item>
    <item name="android:gravity">center_vertical</item>
</style>
于 2013-11-13T18:02:35.347 回答
2

只有EditText?还是您希望每个小部件看起来都像全息前小部件?如果是这样,那么将其设置为您的主题将有所帮助:

<application
       [...]
        android:theme="@android:style/Theme" >
       [...]
</application>

但是,如果您只想让 EditText 成为“un-holofied”,您可以这样做:

<EditText
      android:id="@+id/spinnermap"
      style="@style/MyEditText"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_centerVertical="true" />

值/样式.xml:

<style name="MyEditText" parent="android:Widget.Spinner"></style>

并将你的 Theme 设置为 Holo(.Light) 和 Theme(.Light) for pre HC。

或者,如果您想将所有内容组合成一个主题,并且除了 EditText 小部件之外的所有内容都是全息的,那么您可以这样做:

values-v11/styles.xml: // v11 因为 pre HC 主题已经有 EditText 样式,你想要。

<style name="MyTheme" parent="@android:style/Theme.Holo"       
    <item name="android:editTextStyle">@style/MyEditText></item>
</style> 
于 2013-04-15T11:06:46.623 回答
1

或者你可以使用这个:

https://github.com/Prototik/HoloEverywhere

如果您想在旧设备上安装 Holo(我的意思是您可以以相反的方式进行操作 - 将旧控件更改为新控件)。这个库也适用于 ActionBar Sherlock。

于 2013-04-15T11:17:53.497 回答