2011-09-23 107 views
3

我想讓我的TextView垂直滾動。我讀過「Making TextView Scrollable in Android」,但由於我不知道最終設備屏幕的大小,我不知道應該爲最大行設置哪個值。在不知道最大線條的情況下使TextView滾動

有沒有其他的方法,所以它獲得了任何屏幕尺寸的滾動?

我的XML看起來是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:fillViewport="true" 
     android:layout_weight="1.0"> 
     <TextView 
      android:id="@+id/consola" 
      android:layout_width="fill_parent" 
      android:layout_height="match_parent"/> 
    </ScrollView> 

    <EditText 
     android:id="@+id/comando" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.0"/> 

    <LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="0.0"> 

     <Button 
      android:text="Conectar" 
      android:id="@+id/boton_conectar" 
      android:layout_width="wrap_content" 
      android:layout_weight="0.5" 
      android:layout_height="wrap_content"> 
     </Button> 
     <Button 
      android:text="Enviar" 
      android:id="@+id/boton_enviar" 
      android:layout_width="wrap_content" 
      android:layout_weight="0.5" 
      android:layout_height="wrap_content"> 
     </Button> 
    </LinearLayout> 
</LinearLayout> 

回答

4

外觀,滾動我的XML佈局,這裏的結構:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:scrollbars="vertical" 
     android:visibility="visible"> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    ..... 
    //your sub-widgets 
    ..... 
</LinearLayout> 
</ScrollView> 

至於我,工作正常。

+0

如果我這樣做,所有組件都可以滾動。我只想要EditText滾動 –

+0

哦,太好了。但我沒有看到你的問題,你想只是滾動EditText,而且'EditText'這個詞在問題描述中不存在,所以這個問題是不正確的。提供更多細節。 你如何想象EditText的滾動? – Dimon

+0

通常ScrollView應該是XML文件中的父窗口小部件節點。所以ScrollView和EditText層次的倒置不能解決問題。 – Dimon

0

把TextView的內部滾動型與高度= MATCH_PARENT

嘗試:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ScrollView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:fillViewport="true" 
     android:layout_weight="1.0"> 
     <TextView 
      android:id="@+id/consola" 
      android:layout_width="fill_parent" 
      android:layout_height="match_parent"/> 
    </ScrollView> 

    <EditText 
     android:id="@+id/comando" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     /> 

    <LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="wrap_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"> 

     <Button 
      android:text="Conectar" 
      android:id="@+id/boton_conectar" 
      android:layout_width="wrap_content" 
      android:layout_weight="0.5" 
      android:layout_height="wrap_content"> 
     </Button> 
     <Button 
      android:text="Enviar" 
      android:id="@+id/boton_enviar" 
      android:layout_width="wrap_content" 
      android:layout_weight="0.5" 
      android:layout_height="wrap_content"> 
     </Button> 
    </LinearLayout> 
</LinearLayout> 
+0

不能正常工作,我會用我的xml編輯問題 –

+0

@RomanRdgz,改變像上面的視圖的重量和寬度 – Rodrigo

+0

不起作用。您在按鈕Linearlayout weight =「1」中所做的更改使它們消失,這是不需要的。關於TextView,滾動視圖的0dp寬度沒有文字可見。如果我刪除這一行,像以前一樣工作,根本不滾動 –

0

ScrollView只允許有一個子部件。

您應該將滾動視圖中的linearlayout。並在線性佈局內設置textview。

1

如果您不知道行數(此外,如果顯示軟輸入法,它可能會有所不同),您應該使用RelativeLayout來放置您的小部件,如TextView。然後連接兩個(這是至關重要的,不是一個,但兩個)它的頂部和底部邊緣與android:layout_alignParentTopandroid:layout_alignParentBottom屬性或android:layout_aboveandroid:layout_below屬性的鄰居。

將雙方連接到其他小部件後,即使您更改方向或顯示/隱藏軟鍵盤,android也會正確重新計算TextView和滾動條的大小。

相關問題