2014-03-25 4 views
1

Как я могу сделать текст NEXT на кнопку, а не на кнопку ON?Позиционирование текста на кнопке Android

Вот скриншот того, что мне нужно:

enter image description here

Вы можете увидеть текст на первой кнопке. Это написано на кнопке, и я не мог ее переместить (кроме изменения силы тяжести, но на самом деле это не то, что мне нужно). Рядом со второй кнопкой я поставил ярлык в качестве ориентира чего-то, чего хотел бы достичь.

Есть ли способ сделать это в Android? довольно просто в ObjectiveC.

ответ

3

Вы можете использовать TextView вместо кнопки.
TextViews можно щелкнуть, так же, как и кнопки.

И слушатели назначаются так же, как и кнопки.
Итак, необходимы очень небольшие изменения в коде (переименование префиксами управления и изменение типа с Button на TextView, что действительно тривиальная задача).

Вы можете добавить растяжимой к нему, указав атрибут android:dawableLeft="@drawable/my_icon", для левой стороны графика

Вы можете использовать drawableLeft и/или drawableRigth и/или drawableTop и/или drawableBottom.
Вы можете указать drawablePadding, чтобы добавить пробел между графикой и текстом.

Это лучшая практика, обеспечивающая максимально возможную гибкость вашей дизайнерской гиерархии.

Обратите внимание, что вы не ограничены изображениями ... вы также можете использовать xml drawables!

+1

Точно, что я искал;) – SteBra

+1

Я использую его каждый раз, когда могу - это спасатель жизни! Обратите внимание, что вы не ограничены изображениями ... вы также можете использовать xml drawables! –

0

Вы можете обернуть свою вторую Button и TextView в горизонтальной плоскости LinearLayout. Это приведет к тому, что текст будет справа от кнопки.

+1

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

0

Попробуйте относительную компоновку. Существует один атрибут align_leftof

0

Вы можете использовать RelativeLayout, чтобы обернуть эти два элемента и легко использовать layout_rightOf позиционировать TextView рядом с Button, надеюсь, что это помогает :)

0

Нечто подобное:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:id="@+id/btn1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Button1"/> 
    <Button 
     android:id="@+id/btn2" 
     android:layout_below="@id/btn1" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:text="Button2"/> 
    <TextView 
     android:layout_below="@id/btn1" 
     android:layout_width="40dp" 
     android:layout_height="80dp" 
     android:text="Text" 
     android:gravity="center" 
     android:layout_toRightOf="@id/btn2"/> 

    </RelativeLayout> 

Это не идеальный пример, но я надеюсь, что это поможет.

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