2014-04-14 34 views
2

我有一个方法,它接受一串文本,将它切出来,并使字符串中的所有单词的按钮。我添加这些到水平线性布局是这样的:如何让我的按钮适合Android屏幕?

for (int x = 0; i < string.length; x++) { 
      Button word = new Button(context); 
      word.setText(string[x]+""); 
      myLinearLayout.addView(word); 
     } 

的问题是,如果字符串太长,按钮会关闭屏幕。我该如何做到这一点,使按钮出现在下面一行而不是跳出屏幕?我一直在寻找解决方案整天,但无法找到答案。

谢谢!

+0

用更短?使用字体度量来获取单词的总长度或基于所有单词中字母数量的简单算法,直到当前迭代并添加换行符(如果其大于X,其中X取决于屏幕宽度)? – tgkprog

回答

1

试试这个..

for (int x = 0; i < string.length; x++) { 
     Button word = new Button(context); 
     word.setText(string[x]+""); 
     LinearLayout.LayoutParams left_on = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT,1); 
     word.setLayoutParams(left_on); 
     myLinearLayout.addView(word); 
    } 
+0

谢谢,这有助于很多!但是,它只是通过缩小视图内的按钮来保持按钮,而不是换新的一行。我意识到水平线性布局只能水平堆叠视图,但我不确定我应该用什么来代替。 – user3531749

+0

你可以使用http://developer.android.com/reference/android/widget/Horizo​​ntalScrollView.html – velis