我是android新手。我正在创建一个示例页面,其中我需要将页面背景设为白色。但是,如果没有聚焦,我的编辑文本在白色背景下是不可见的。如何在编辑文本中添加所需颜色的边框,以使其可见。除此之外,当我按下输入编辑文本框时,它正在添加一个新行。我也想删除它。任何身体都可以帮助我解决这个问题。 提前致谢
答案 0 :(得分:30)
您可以为edittext设置drawable。
edittext_bg.xml :(将此文件放在drawable文件夹中)
<?xml version="1.0" encoding="UTF-8" ?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff" />
<stroke android:width="3dp" android:color="#000000" />
<padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" />
</shape>
然后将您的edittext的背景设置为android:background="@drawable/edittext_bg"
。
但这将删除edittext的所有默认背景效果。您可以为edittext创建一个选择器,以便在处于选定状态或正常状态时为其提供不同的背景。
您可以在edittext标记中设置android:singleLine="true"
,以防止它在edittext中使用多行。
答案 1 :(得分:0)
您需要将EditText的背景设置为Drawable资源,该资源完全符合您的要求。最好的方法是使用一个选择器(通常用于按钮以获取正常,悬停,按下/单击向下看起来都在一个资源中。)http://androidwizard.net/2010/02/custom-button-backgrounds-using-a-selector-xml-layout/
在您的选择器中,根据EditText是否聚焦,选择要切换的图像。 Hiral有一个用形状绘制的样本图像,但你应该弄清楚每个状态你想要的样子。
对于新行,如果你想在一行上全部使用Hiral,如果你想要多行但没有输入新行,请参阅Prevent enter key on EditText but still show the text as multi-line