2016-03-13 2 views
2

Я пытаюсь получить эту форму сделано в XML: ShapeAndroid - XML ​​Пользовательская форма

То, что я пробовал:

<item> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item 
      android:drawable="@color/res_pressed"/> 
     <item 
      android:drawable="@color/res_default" 
      android:top="0dp" 
      android:right="0dp" 
      android:bottom="0dp" 
      android:left="15dp"/> 
    </layer-list> 
</item> 

Тем не менее я не могу получить его прямо с круглыми и прямые углы для желтой формы.

ответ

2

Чтобы использовать углы, вы должны использовать shape. Попробуйте

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/res_pressed" /> 
      <corners android:topLeft="10dp" android:bottomLeft="10dp" /> 
     </shape> 
    </item> 
    <item 
     android:top="0dp" 
     android:right="0dp" 
     android:bottom="0dp" 
     android:left="15dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/res_default" /> 
      <corners android:topRight="10dp" android:bottomRight="10dp" /> 
     </shape> 
    </item> 
</layer-list> 
+0

Пробовал и дает тот же результат с вопросом с Android 4.0.3 –

1

Это обходной путь:

Создать top.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="@color/colorPrimaryDark" /> 
    <corners 
     android:radius="15dp"/> 
</shape> 

Создать bot.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="@color/colorAccent" /> 
    <corners android:radius="15dp" /> 

</shape> 

желаемая форма:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/bot" /> 
    <item 
     android:bottom="0dp" 
     android:drawable="@drawable/top" 
     android:left="15dp" 
     android:right="0dp" 
     android:top="0dp"/> 
</layer-list> 
1

Попробуйте это, идентичный Gabe Sechan пост, но с некоторыми изменениями ..

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:width="20dp" 
     > 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/yellow"/> 
      <corners 
       android:bottomLeftRadius="10dp" 
       android:bottomRightRadius="0dp" 
       android:topLeftRadius="10dp" 
       android:topRightRadius="0dp" 
       /> 
     </shape> 
    </item> 
    <item 
     android:bottom="0dp" 
     android:left="15dp" 
     android:right="0dp" 
     android:top="0dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/blue"/> 
      <corners 
       android:bottomLeftRadius="0dp" 
       android:bottomRightRadius="10dp" 
       android:topLeftRadius="0dp" 
       android:topRightRadius="10dp"/> 
     </shape> 
    </item> 
</layer-list> 

Happy_Coding;

Смежные вопросы