无法创建适当的形状

Not able to create proper shape

我正在尝试创建类似 的形状 但现在看起来是

这是我的代码

<shape xmlns:android="http://schemas.android.com/apk/res/android">
         <solid android:color="@color/somecolor" />

<corners
    android:radius="10dip"
    android:bottomLeftRadius="10dp"
    android:bottomRightRadius="10dp"
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp" />
         <padding
            android:top="10dp"
            android:bottom="10dp" />
    </shape>

有什么帮助吗?

custom_layout.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <stroke android:width="2dp" android:color="#ff207d94" />
    <padding android:left="2dp"
        android:top="2dp"
        android:right="2dp"
        android:bottom="2dp" />
    <corners android:radius="5dp" />
    <solid android:color="@color/somecolor" />
</shape>

您的看法

<View
    android:id="@+id/myView"
    android:layout_width="60dp" // width and height will decide the shape
    android:layout_height="30dp"
    android:background="@drawable/custom_layout"/>

到底是什么问题 (size/hight...)。 您是否尝试过为您的形状添加一些其他标签? 我使用类似的东西:

<shape>
  <gradient
      android:startColor="#525251"
      android:endColor="#838181"
      android:angle="270" />
  <stroke
      android:width="1dp"
      android:color="#525251" />
  <corners
      android:radius="6dp" />
  <padding
      android:left="5dp"
      android:top="5dp"
      android:right="5dp"
      android:bottom="5dp" />
</shape>

(width/hight 在布局中定义 XML)

android:top 更改为 android:left,将 android:bottom 更改为 android:right

您也可以为这些属性使用负值,这样您就可以微调您想要达到的效果。