2013-03-13 3 views
4

Вот мой button_style.xml, который я включаю с помощью моей кнопки. Тем не менее, я все еще не могу получить границу слева. Может ли кто-нибудь помочь мне здесь, пожалуйста?Граница только с левой стороны кнопки

пс - Мой фон должен быть прозрачным

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <layer-list> 
      <item android:left="2dp"> 
       <shape android:shape="rectangle"> 
        <stroke 
         android:width="1dp" 
         android:color="#999999"/> 
       </shape> 
     </item> 
    </layer-list> 

</selector> 
+0

Вы пробовали 'android: drawableLeft' – DjHacktorReborn

+0

@DjHacktorReborn:' android: drawableLeft' не является решением. Попробуйте один из них: http://stackoverflow.com/questions/2422120/open-sided-android-stroke ИЛИ http://stackoverflow.com/questions/9211208/how-to-draw-border-on-just-one -side-of-a-linear-layout –

ответ

0
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <layer-list> 
      <item android:left="2dp" 
        android:right="0dp" 
        android:top="0dp" 
        android:bottom="0dp" 
        > 
       <shape android:shape="rectangle"> 
        <stroke 
         android:width="1dp" 
         android:color="#999999"/> 
       </shape> 
     </item> 
    </layer-list> 

</selector> 

попробовать это может работать

+0

это не работает для меня – BurninatorDor

+0

Это не работает, хотя есть рамка, которая появляется слева, есть также рамка, которая появляется внизу, хотя bottom = "0dp « –

+0

вы пытались на реальном устройстве, иногда это может не отображаться на симуляторе – Syn3sthete

0

Попробуйте

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape> 
      <padding android:left="1dp" /> 
      <solid android:color="#999999" /> 
     </shape> 
    </item> 
<item> 
    <shape android:shape="rectangle"> 
      <solid android:color="@android:color/transparent" /> 
    </shape> 
    </item> 
</layer-list> 
9

Попробуйте

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

    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@android:color/transparent" /> 
     </shape> 
    </item> 
    <item 
     android:bottom="-2dp" 
     android:right="-2dp" 
     android:top="-2dp"> 
     <shape> 
      <solid android:color="@android:color/transparent" /> 

      <stroke 
       android:width="2dp" 
       android:color="#FFF" /> 
     </shape> 
    </item> 

</layer-list> 
+0

может ли кто-нибудь сказать мне цель атрибута' android: shape', как я получил те же результаты после удаления? –

2

Существует некоторая проблема наследования с границами кнопки. Но я нашел лучший способ сделать это. Скажем, если вы хотите получить границу только с левой стороны кнопки. В XML-файле MainActivity, где находится кнопка сделать это, как это -

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/newstyle" 
     android:orientation="vertical" > 

       <Button 
        android:id="@+id/button3" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@null" 
        android:gravity="center_vertical" 
        android:paddingLeft="10sp" 
        android:text="Button" 
        android:textAllCaps="false" 
        android:textColor="#939393" 
        android:textSize="20sp" /> 
    </LinearLayout> 

Для файла newstyle.xml, который будет расположен в вытяжке использования этого кода -

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

    <item 
     android:bottom="0sp" 
     android:left="-2sp" 
     android:right="-2sp" 
     android:top="-2sp"> 
     <shape android:shape="rectangle" > 
      <solid android:color="#ffffff" /> 

      <stroke 
       android:width="1sp" 
       android:color="#d6d6d6" /> 
     </shape> 
    </item> 
</layer-list> 

Так все Идея - Держите фон кнопки как @null и держите кнопку в макете Linera. Дайте фон макету лайнера и сделайте ее. .. ..

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