2016-08-30 2 views
0

Я могу найти много кнопок с закругленным прямоугольником, но это не работает для меня.Как исправить кнопку от прямоугольника до закругленного прямоугольника?

Что мне не хватает?

Это layout.xml:

<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="2" 
    android:background="#ebf1ff" 
    android:orientation="vertical"> 

    <LinearLayout 
     style="@style/wrapperWidthWeightSumOne" 
     android:paddingTop="50dp"> 

     <Button 
      android:id="@+id/btnTypeAll" 
      style="@style/ConsentTypeBtn" 
      android:layout_width="0dp" 
      android:layout_weight="0.85" 
      android:text="All"/> 
    </LinearLayout> 

    (...) 

</LinearLayout> 

Это стиль кнопки:

<style name="ConsentTypeBtn"> 
    <item name="android:layout_width">wrap_content</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:onClick">onClick</item> 
    <item name="android:background">@drawable/selector_btn_consent_all</item> 
    <item name="android:layout_marginBottom">2dp</item> 
    <item name="android:singleLine">true</item> 
    <item name="android:layout_gravity">center</item> 
    <item name="android:textColor">#fff</item> 
</style> 

... и это selector_btn_consent_all.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector http://schemas.android.com/apk/res/android"> 
<item android:state_selected="true" android:drawable="@drawable/consent_type_on"> 
    <shape android:shape="rectangle"> 
     <corners android:radius="4dp" /> 
     <stroke android:width="2dp" android:color="#1F3259"/> 
    </shape> 
</item> 
<item android:state_pressed="true" android:drawable="@drawable/consent_type_on"></item> 
<item android:drawable="@drawable/consent_type_off"></item> 

+0

вместо 'radius' попробовать дать каждому радиусу угла –

+0

Всегда писать ссылки на решения, которые не работают. – Sufian

+0

Работает ли это? http://stackoverflow.com/questions/6054562/how-to-make-the-corners-of-a-button-round – Sufian

ответ

0

у наш selector_btn_consent_all.xml имеет статус вот так: когда android:state_selected="true", используйте android:drawable="@drawable/consent_type_on".

Таким образом, найти consent_type_on.xml в папку drawable, и это было бы rectangle, добавить <corners android:radius="4dp" />

EDIT

затем сделать consent_type_on.xml в папку drawable. Например, здесь

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 

    <corners android:radius="5dp" /> 
    <solid android:color="@android:color/holo_blue_bright" /> 

</shape> 
+0

agree_type_on - это просто hex цвета ... в цветах.xml – Adrian

+0

проверить изменения. если вы хотите изменить цвет фона drawable (= solid), измените это '@android: color/holo_blue_bright' на свой шестнадцатеричный код цвета или' @ color/agree_type_on' – myoungjin

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