如何在android中更改自定义形状的边界颜色?

时间:2017-01-03 05:10:42

标签: android xml android-edittext

我正在创建一个带圆角的编辑文本,我正在使用自定义形状并指定它来编辑文本。 我想要: 1-编辑文本的填充区域为白色。 2-编辑文本的边界应为绿色。 第一个要求得到满足,但我无法做第二个要求。如何实现这一目标?任何帮助将不胜感激 这是我的代码 编辑文本代码:

        tvShowDate = (TextView) findViewById(R.id.tvShowDate);

    long date = System.currentTimeMillis();

    final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMMdd");
    String dateString = sdf.format(date);
    tvShowDate.setText(dateString);


    ivPrevDate = (ImageView) findViewById(R.id.ivPrevDate);
    ivNextDate = (ImageView) findViewById(R.id.ivNextDate);


    final Calendar c = Calendar.getInstance();
    final String[] formattedDate = {sdf.format(c.getTime())};

    ivPrevDate.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            c.add(Calendar.DATE, -1);
            formattedDate[0] = sdf.format(c.getTime());

            Log.v("PREVIOUS DATE : ", formattedDate[0]);
            tvShowDate.setText(formattedDate[0]);
        }
    });


    ivNextDate.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            c.add(Calendar.DATE, 1);
            formattedDate[0] = sdf.format(c.getTime());

            Log.v("NEXT DATE : ", formattedDate[0]);
            tvShowDate.setText(formattedDate[0]);

        }
    });

自定义布局:

<EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:hint="E-mailadres"
        android:background="@drawable/rounded_layout"
        android:layout_marginTop="8dp"
        android:layout_weight="2"/>

所需输出图片: enter image description here

5 个答案:

答案 0 :(得分:3)

您好,请尝试以下代码替换您的笔划

<stroke android:width="1dip"
        android:color="**your color goes here**"/>

答案 1 :(得分:1)

您需要在您的可绘制文件中添加笔画。

用此

代替代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" android:padding="10dp">
    <solid android:color="#FFFFFF"/>
    <corners
        android:bottomRightRadius="10dp"
        android:bottomLeftRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp"
        />
    <stroke android:width="1dip" android:color="#0075cb"  />
</shape> 

答案 2 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke android:width="3dp" android:color="#8bc34a" />
    <corners android:radius="10dip"/>
    <gradient
        android:startColor="#ffffff"
        android:endColor="#ffffff"
        />
</shape>

答案 3 :(得分:0)

创建一个XML文件put并将其放入drawable文件夹

<?xml version="1.0" encoding="utf-8" ?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:thickness="0dp"
       android:shape="rectangle">
  <stroke android:width="3dp"
         android:color="#4799E8"/>
  <corners android:radius="5dp" />
  <gradient
   android:startColor="#C8C8C8"
   android:endColor="#FFFFFF"
   android:type="linear"
   android:angle="270"/>
</shape>

和像这样的Edittext代码

<EditText
            android:id="@+id/inputSearchEditText"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="15dp"
            android:layout_marginBottom="20dp"
            android:layout_marginRight="15dp"
            android:layout_centerVertical="true"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ellipsize="start"
            android:gravity="center"
            android:hint="Search text"
            android:inputType="text"
            android:background="@drawable/EditTextStyle"/>

答案 4 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp"
    android:color="#04B404" />
<corners
    android:radius="3dp"/>
<solid android:color="#FFFFFF"/>
</shape>

在您的drawable xml中添加它。并将其设置为edittext的背景。