2013-03-06 2 views
1

Как бы я хотел изменить ориентацию текста в моих кнопках, чтобы они были написаны вертикально, а не горизонтально?Изменить ориентацию текста на кнопке

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="0.10" 
    android:text="Previous" /> 

Возможно ли это?

+0

Я думаю, что если вы установите кнопку вертикальной (форм-фактор), текст должен следовать. Другое дело, если вы хотите, чтобы текст отображался вертикально и снизу вверх. – g00dy

+0

ознакомьтесь с этим вопросом .... http://stackoverflow.com/questions/8604932/android-text-view-text-in-vertical-direction –

+0

или вы можете использовать Html.fromHtml() с подобными перерывами, например. S
a
, не изящное решение, но будет работать – Waqas

ответ

0

Я установил его сам. Я сделал отдельную папку под названием layout-land и разместил там отдельный XML-файл, чтобы позаботиться об этом. Теперь макет отлично выглядит в обоих случаях, и я могу использовать жестко закодированные веса для атрибутов.

2

Пробовал и тестировал это, он работает абсолютно нормально.

public class buttonCustom extends Button{ 
String s=""; 

public buttonCustom(Context context) { 
    super(context); 
} 


public buttonCustom(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    // TODO Auto-generated constructor stub 
} 


public buttonCustom(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    // TODO Auto-generated constructor stub 
} 


@Override 
public void setText(CharSequence text, BufferType type) { 
    // TODO Auto-generated method stub 

    // TODO Auto-generated method stub 

    for(int i=0;i<text.length();i++) 
    { 
     if(s==null) 
      s=""; 

     s= s+String.valueOf(text.charAt(i))+ "\n"; 
    } 



    super.setText(s, type); 
} 

}

Кнопка Override класс и переопределить функцию SetText

7

Это скриншот после установки ширины 12DP

enter image description here

Попробуйте

место \n символов в строке для разрывов строки в вашем Strings.xml как этот

1\n 2\n 3\n 

и вы можете сразу установить его как этот

android:text="@String/yourstring" 
+0

Если вам нужно повернуть кнопку, которую вы можете сделать, используя атрибут вращения для вашей кнопки – Pragnani

+0

Нет, это должен быть текст в кнопке. – OmniOwl

+0

ОК, чем попробовать то, что я разместил. – Pragnani

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