2012-06-08 32 views
0

中的wrap_content切斷線我想要做的是使一個包含一些文本blurbs和一個按鈕進行中心框。我可以通過使用wrap_content獲得盒子居中並且不佔用整個屏幕,但blurb是幾行,包含它們的textviews並未顯示所有文本。以下是我有:TextView由於父母的LinearLayout在android

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


    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_gravity="center" 
     android:background="@color/content" 
     android:padding="10dp" 
    > 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center" 
      android:text="@string/title" 
      android:textColor="@color/black" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="@string/teacher_head" 
      android:textColor="@color/black" /> 

     <TextView 
      style="@style/home_blurb" 
     android:text="@string/teacher_blurb" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="@string/student_head" 
      android:textColor="@color/black" /> 

     <TextView 
     android:text="@string/student_blurb" 
      style="@style/home_blurb" /> 


     <Button 
      android:layout_width="wrap_content" 
     android:layout_height="0dip" 
     android:layout_gravity="center" 
     android:layout_weight="0.1" 
     android:gravity="center" 
      android:paddingTop="5dp" 
      android:text="@string/go_to_app" /> 


</LinearLayout> 
</LinearLayout> 

其中home_blurb是

<style name="home_blurb" parent="android:TextAppearance"> 
    <item name="android:paddingBottom">5dp</item> 
    <item name="android:textColor">@color/black</item> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">fill_parent</item> 
    <item name="android:layout_weight">1</item> 
    <item name="android:textSize">12dp</item>  
</style> 

內的LinearLayout本身設置的按鈕,我可以接受的寬度,但有什麼辦法,使它寬度足以包含所有文字而不設置特定的像素測量值(如html/css中的屏幕百分比)?

+0

你想要使按鈕變寬或線性佈局?並btw wtat將文本?它有多大? – Siddhesh

回答

0

您可以使用您的第二LinearLayout

android:layout_marginLeft="20dp" 
android:layout_marginRight="20dp" 
android:layout_marginBottom="20dp" 
android:layout_marginTop="20dp" 

,使您的佈局將繼續留在中心,每一次它周圍一定的空間,不管你的文字有多少大的。如果你願意,你可以通過特定的最大高度爲每個元素添加給滾動條你可以做到這一點每一個元素,那麼你可以做到這一點

android:scrollbars="vertical"和代碼textview.setMovementMethod(new ScrollingMovementMethod());

+0

使用相同的值爲邊距添加4行代碼不是很好的做法。它更好,如果你只添加'android:layout_margin =「20dp」'。這將達到與上述4行代碼相同的目的,但只有一行。 – Android

+0

是的你是對的。考慮到他將設定不同的保證金值,我寫了四行。 – Siddhesh

1

我有同樣的

問題。發生我正在使用:

android:layout_gravity="center" 

不要使用它。使用方法:

android:gravity="center" 

改爲。也許你應該在被切斷的TextView上使用android:gravity =「center」。

一些幫助:

安卓layout_gravity是觀的外部重力。這意味着,指定視圖應觸摸其父邊界的方向。

android:引力是該視圖的內部引力。這意味着它的內容應該與哪個方向對齊。