2013-10-10 26 views

回答

1

可能有很多方法可以做到这一点,具体取决于您使用它的方式。这是我会做:

  1. 添加的LinearLayout与android:gravity="bottom",和你的TextView添加到该布局。
  2. 当您添加文本给它,使用这样的:

    public ArrayList<String> text = new ArrayList<String>(); 
    int lines = 20; 
    TextView textField = (TextView)findViewById(R.id.textview); 
    
    private String concatLines(){ 
        String txt = ""; 
        for(String s: text){ 
         txt += s+"\n"; 
        } 
        return txt.substring(0, txt.length()-1); 
    } 
    
    private void appendLine(String line){ 
        text.add(line); 
        if(text.size() > lines){ 
         text.remove(0); 
        } 
        textField.setText(concatLines()); 
    } 
    
    appendLine("> A new line"); 
    

android:gravity="bottom"应保持在布局的底部对齐文本字段。确保TextView的高度为wrap_content

+0

所以int行定义在“缓冲区”中还有多少行文字仍然可以这么说? – GPinskiy

+0

对。这种方法显然有一些缺陷,比如:如果缓冲区大于TextView的高度,它将被剪切在底部而不是顶部,这可能是你想要的。 –

+0

啊,所以文字历史不能超出屏幕的顶部吗? – GPinskiy

相关问题