18

我正在尝试像这样在我的布局周围制作边框

两个带有圆形边框的文本区域

但我正在尝试改变布局颜色。不做任何边框。

我的代码是

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
> 

<stroke android:width="1dp"

        android:color="#eedfcc"
        android:background="#000080"/>

<corners android:bottomRightRadius="20dp"
         android:bottomLeftRadius="20dp" 
         android:topLeftRadius="10dp"
         android:topRightRadius="8dp"/> 
</shape>

为什么它不起作用?

4

4 回答 4

62

试试这个:

第 1layout_border.xml步:在项目的 drawables 目录 (res/drawable/layout_border.xml) 中创建文件:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <stroke android:width="3dip" android:color="#B1BCBE" />
    <corners android:radius="10dip"/>
    <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

第2步:

<EditText 
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/layout_border"
     /> 
于 2012-07-03T06:17:28.007 回答
3

创建一个文件“res/drawable/my_border.xml”并定义一个形状:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="4dp" android:color="#FF00FF00" />
    <solid android:color="#ffffff" />
    <padding android:left="7dp" android:top="7dp"
            android:right="7dp" android:bottom="7dp" />
    <corners android:radius="4dp" />
</shape>

然后将其添加为布局标签内的背景:

android:background="@drawable/my_border"
于 2012-07-03T06:27:12.967 回答
2

解决方案1:

my_edittext_bg

 <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >    
    <!-- Color of the border -->
    <stroke
      android:width="2dp"
      android:color="#FF0000" />
    <!-- Use this if you want to round your Corners -->
    <corners android:radius="5dp" />
    <!-- Use this attribute if you want add some paddings -->
    <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
    </shape>

现在将其设置为编辑文本的背景

 android:background="@drawable/my_edittext_bg"

解决方案2:

使用这个 9-patch drawable 作为你的 EditText 的背景

在此处输入图像描述

于 2012-07-03T06:29:12.807 回答
1

试试这个代码:

<EditText 
    android:id="@+id/edittext1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/textboxes"
     /> 

并在名为“textboxes”的可绘制文件夹中创建 xml 文件,并在其中编写以下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
    android:color="#f269be"
    android:width="2dp" />
<solid
    android:color="#ffffff" />
</shape>

从圆角边框,写下:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#009FFFFF"/>
<corners android:radius="10px"/>
<padding android:left="1dp" android:top="2dp" android:right="2dp" android:bottom="2dp" /> 
<stroke android:width="2dp" android:color="#AAAAAA" />
</shape>
于 2012-07-03T06:16:23.013 回答