0

我想更改 android 中的所有 EditText UI。例如,我想更改 On Focus、On Blur 和 ... 样式。我该怎么做?实际上我读了一些片段,但我不明白他们在做什么!

4

2 回答 2

3

1-为不同的状态创建选择器

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_default" />
  <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_disabled" />
  <item android:state_pressed="true" android:drawable="@drawable/textfield_pressed" />
  <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_selected" />
  <item android:state_enabled="true" android:drawable="@drawable/textfield_default" />
  <item android:state_focused="true" android:drawable="@drawable/textfield_disabled_selected" />
  <item android:drawable="@drawable/textfield_disabled" />
</selector>

2- 要应用自定义可绘制 xml,请使用 EditText 的 android:backgroung 属性

android:background="@drawable/yourXml"

http://www.androidworks.com/changeing-the-android-edittext-ui-widget

于 2012-06-30T13:25:32.663 回答
0

如果您想在某些事件(例如 onFocus、onPressed)发生时更改 EditText 的外观,那么您将需要 Selector。

选择器是一个可绘制的,并以xml文件的形式实现,选择器文件中的元素将引用特定的状态。每个元素映射到一个特定的状态。

要更改 UI 组件的外观和感觉,可以使用背景、src 属性等

而这个链接正是需要的那个。

         http://developer.android.com/guide/topics/ui/themes.html
于 2012-06-30T13:34:23.580 回答