2014-05-03 2 views
0

Я просмотрел stackoverflow и увидел, что у некоторых ppl есть проблемы с центрированием текста внутри кнопки. Я пробовал гравитацию, центр, textAlignment и т. Д., Но пока ничего не сработало. Есть ли у кого-нибудь идеи о том, как я могу это исправить? ThanksЦентрирование текста внутри кнопки в android

Эта кнопка в основном представляет собой кнопку с минусом или символом, но она не помещает знак в центр. Я тоже пробовал это с +, но не повезло. Любая помощь приветствуется.

Я могу получить кнопку, чтобы центрировать текст, но я должен использовать wrap_content для ширины и высоты. Однако я не хочу, чтобы кнопка была большой. Хотела его 40dp от 40dp

<Button 
      android:id="@+id/button_minusMin" 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:layout_below="@+id/edit_minute" 
      android:layout_marginLeft="55dp" 
      android:background="@drawable/button1" 
      android:text="@string/button_minusMin" 
      android:textAlignment="gravity" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:textStyle="bold" /> 

это мой button1 XML

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item><layer-list> 
     <item android:right="5dp" android:top="5dp"><shape> 
       <corners android:radius="3dp" /> 

       <solid android:color="#000000" /> 
      </shape></item> 
     <item android:bottom="2dp" android:left="2dp"><shape> 
       <gradient android:angle="270" android:endColor="#000000" android:startColor="#F06F14" /> 

       <stroke android:width="1dp" android:color="#BABABA" /> 

       <corners android:radius="4dp" /> 

       <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> 
      </shape></item> 
    </layer-list></item> 

Я попытался следующие, но работает хотели иметь затенения, который почему я использовал button1.xml Is что-то в моем button1.xml бросает вещи?

<Button 
      android:id="@+id/button_minusSets" 
      android:layout_width="35dp" 
      android:layout_height="40dp" 
      android:layout_below="@+id/edit_sets" 
      android:layout_marginLeft="55dp" 
      android:background="#F06F14" 
      android:text="@string/button_minusSets" 
      android:textColor="#FFFFFF" 
      android:textSize="30sp" 
      android:textStyle="bold" /> 
+0

Вы не можете центрировать символ в кнопке или TextView – Libin

ответ

0

Вы пытались добавить android:gravity="center" к своей кнопке?

Редактирование 1: Добавление кнопки XML

<Button 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:background="@drawable/button_drawable" 
    android:gravity="center" 
    android:text="+" > 
</Button> 
+0

Да, но это не повлияло – John

+0

Я тестировал с тем же селектором, который вы предоставили с XML-Button, который я только что добавил. Работает отлично. –

+0

Интересно, может быть, это связано с моими макетами? – John

0

Быстрый ответ (может быть, не давая вам причину, почему ваш код не работает, но по-прежнему делает работу) будет разместить эту кнопку с TextView в некоторых вид размещения (FrameLayout или RelativeLayout).

Например, как это (вставьте ваши номера самостоятельно пожалуйста):

<FrameLayout 
    android:layout_width="40dp" 
    android:layout_height="40dp" > 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/button1" /> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center_horizontal" 
     android:text="@string/button_minusSets" 
     android:textColor="#FFFFFF" 
     android:textSize="30sp" 
     android:textStyle="bold" /> 
</FrameLayout> 

Это дает центрированный текст так же, как вы хотели.

Если я придумаю решение проблемы с вашим кодом, я напишу его в комментариях.

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