2016-01-28 3 views
2

У меня есть drawable (xml), как это.Как использовать border (drawable) в относительной компоновке?

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
<corners android:radius="10dp"/> 
<padding android:left="5dp" android:right="5dp" android:top="5dp" android:bottom="5dp"/> 
<solid android:color="#FF00FF00"/> 
</shape> 

Моя кнопка находится в родительском линейном макете.

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/custombordergreen" 
    android:orientation="vertical"> 

    <Button 
     android:id="@+id/startClock" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="204dp" 
     android:layout_height="66dp" 
     android:text="@string/start" 
     android:textSize="22sp" 
     android:layout_gravity="center_horizontal" 
     android:background="@drawable/startbutton"/> 

</LinearLayout> 

Но я не могу использовать эту технику, если кнопка уже родственный (и ссылки в «toLeftOf») в относительном макете.

Недостаточно переделать макет, чтобы избежать «относительного», есть ли другой способ поместить границу вокруг моей кнопки?

+1

http://stackoverflow.com/a/7690648/3808452 может это ответ вам поможет? Он использует штрих для границы. – Barthy

+0

Это тоже сработало бы. Я думаю, что это похоже на ответ здесь. – BryanT

ответ

4

поставить это в качестве фона кнопки

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

<solid android:color="#ff3399" /> 

<stroke 
    android:width="0.5dp" 
    android:color="#111111" /> 

<corners 
    android:bottomLeftRadius="05dp" 
    android:bottomRightRadius="05dp" 
    android:topLeftRadius="05dp" 
    android:topRightRadius="05dp" /> 
</shape> 
+1

Это сработало нормально. Я могу заставить его выглядеть так же, как и мои первые решения. Я изменю все свои кнопки, для обеспечения последовательности. – BryanT

0

Изменить свой твердый андроида: цвет в XML

<solid android:color="#00000000" /> 
+0

Я не думаю, что это поможет. Цвета - это то, что я хочу при использовании в линейном макете. Я получаю сообщение об ошибке, когда линейный макет, содержащий только кнопку, «обернут» относительным расположением, которое относится к моей кнопке. – BryanT

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