如何在android按钮中添加png文件和边框?

时间:2017-05-13 12:48:39

标签: java android xml

My app

这里,对于我使用的混合按钮

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <bitmap
        android:src="@drawable/stripes"
        android:tileMode="repeat"
        android:dither="true"
        android:antialias="true" />
</item>
</layer-list>

对于我使用的其他按钮

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle">
  <gradient android:startColor="@android:color/transparent"
    android:endColor="@android:color/transparent"
    android:angle="270" />
  <corners android:radius="3dp" />
  <stroke android:width="5px" android:color="#000000" />
</shape>

现在我想在混合按钮周围添加黑色边框怎么办?

2 个答案:

答案 0 :(得分:0)

在xml文件中的项目下使用图层列表中的形状,如下所示

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap
            android:src="@drawable/stripes"
            android:tileMode="repeat"
            android:dither="true"
            android:antialias="true" />
    </item>
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle">
            <gradient android:startColor="@android:color/transparent"
                      android:endColor="@android:color/transparent"
                      android:angle="270" />
            <corners android:radius="3dp" />
            <stroke android:width="5px" android:color="#000000" />
        </shape>
    </item>
</layer-list>

它会帮助你......

参考How overlay bitmap and shape in layer-list properly

答案 1 :(得分:0)

你非常接近,你只需要将形状(对于你的边框)添加到<layer-list>

这样的事情:

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

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap
            android:src="@drawable/stripes"
            android:tileMode="repeat"
            android:dither="true"
            android:antialias="true" />
    </item>
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
           android:shape="rectangle">
              <gradient android:startColor="@android:color/transparent"
                   android:endColor="@android:color/transparent"
                   android:angle="270" />
         <corners android:radius="3dp" />
         <stroke android:width="5px" android:color="#000000" />
      </shape>    
    </item>
</layer-list>