我开始一个新的应用程序,我使用ActionBarSherlock&HoloEverywhereLib。 我分钟&目标SDK是相同的(10 / 2.3.3)。 这仅仅是这样我也可以很快移植到亚马逊的Kindle和BB10使用它们了Android运行时(已经使用这种设置对其他应用和它的工作没有问题)。 在这期间应用程序应该尽可能靠近ICS / JB看起来可能。
对于我EditTexts虽然,我给他们一个Girgerbread / iOS设备(圆角,但没有阴影)看他们
有人向我提到的几个星期前抢为可绘姜饼并用它们来我EditTexts。 但我开始用另一种答案,我发现这里的S / O,很简单:
<EditText
background:"@drawable/edittext_round_white"
..../>
和我的edittext_round_white.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<corners android:radius="8dp"/>
<stroke android:width="1dp"
android:color="#444"/>
<solid android:color="#FFFFFF" />
</shape>
现在,当我运行应用程序,两件事情是不对的
一)不存在“焦点”在所有(我知道我需要实现这一点,这是问题的点)
b)该光标不在我的EditText在全部出现(灰色垂直线暗示在到在的EditText输入被引导)
对于一个)我想我已经使用某种选择或列表的,对不对? 怎么样? 我在android系统是新的造型和任何帮助,将不胜感激。 我要改变的唯一事情是笔触颜色。
对于B)我怎样才能使光标来了吗?
任何提示/链接/等在这里都非常欢迎!
我建议使用NinePatch图片自定义您的EditText。 这里有云基于我的代码示例:
选择:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_pressed="true" android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/twitter_im_edittext_focused" />
<item android:state_enabled="true" android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_focused="true" android:drawable="@drawable/twitter_im_edittext_focused" />
<item android:drawable="@drawable/twitter_im_edittext_normal" />
</selector>
选择使用你在代码中使用同样的方法,将其设置为你的EditText的背景。
图片:
twitter_im_edittext_focused.9.png
twitter_im_edittext_normal.9.png
更多关于你可以找到NinePatch图像这里 。
希望能帮助到你。
短版接受的答案的
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_focused="true"
android:drawable="@drawable/edit_text_background_focused" />
<item android:drawable="@drawable/edit_text_background_normal" />
</selector>
我认为这个问题是你的光标是EDITTEXT框的左“边/墙”上方,是不可见的,由于重叠。
我所做的就是添加一些填充的文本和这个移动光标和文字更加“内向”,它后来成为可见。
尝试添加这对您的EDITTEXT:
android:paddingLeft="8dp"
文章来源: Android different EditText backgrounds for different states using shapes, selector or list