Android 可绘制形状 storke 问题

时间:2021-05-17 19:40:09

标签: android border drawable shapes

enter image description here

为什么会有不透明区域?

我做了一个自定义的drawable,

但出现了与图片相同的现象。

我测试手机三星 A30、Pixel 4a

drawable/alarm_list_reward_start.xml    
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <stroke
                android:width="2.0dp"
                android:color="#000000" />
            <solid android:color="#FFEB2A" />
            <corners android:radius="10.0dp" />
        </shape>
    </item>
</layer-list>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginStart="12.0dp"
    android:layout_marginEnd="12.0dp" 
    android:layout_marginBottom="50.0dp">
    <TextView
        android:id="@+id/rewardBtn"
        android:layout_width="match_parent"
        android:layout_height="44.0dp"
        android:focusable="false"
        android:background="@drawable/alarm_list_reward_start"
        android:gravity="center"
        android:textColor="#000000"
        android:textSize="15.0dp"
        android:textStyle="bold" />
</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您正在使用 android:layout_width="match_parent"。您可以使用 wrap_content 解决此问题。或者您可以设置图层列表的自定义宽度和高度,例如,

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

  <item>

    <shape android:shape="rectangle">

      <size android:width="152dp" android:height="152dp" />

      <solid android:color="#00FFFFFF" />
      <stroke android:width="2.0dp" android:color="#000000" />
      <solid android:color="#FFEB2A" />
      <corners android:radius="10.0dp" />
    </shape>
  </item>


</layer-list>

相关问题