关于编辑文本完整边框

时间:2012-02-24 06:58:58

标签: android android-edittext

我是android新手。我正在创建一个示例页面,其中我需要将页面背景设为白色。但是,如果没有聚焦,我的编辑文本在白色背景下是不可见的。如何在编辑文本中添加所需颜色的边框,以使其可见。除此之外,当我按下输入编辑文本框时,它正在添加一个新行。我也想删除它。任何身体都可以帮助我解决这个问题。 提前致谢

2 个答案:

答案 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