是否可以在API 17
android 中操纵文本字段的样式API 8
?
与高级 API 相比,低级 API 中的文本字段非常不同。有什么方法可以为这些组件提供统一的外观和感觉?
是否可以在API 17
android 中操纵文本字段的样式API 8
?
与高级 API 相比,低级 API 中的文本字段非常不同。有什么方法可以为这些组件提供统一的外观和感觉?
要使用 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>
只有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>
或者你可以使用这个:
https://github.com/Prototik/HoloEverywhere
如果您想在旧设备上安装 Holo(我的意思是您可以以相反的方式进行操作 - 将旧控件更改为新控件)。这个库也适用于 ActionBar Sherlock。