1

私がやりたいのは、テキストの宣伝文句と続行するためのボタンを含む中央のボックスを作成することです。wrap_contentを使用することで、ボックスを中央に配置し、画面全体を占めることはできませんでしたが、宣伝文は数行の長さであり、宣伝文を含むテキストビューにはすべてのテキストが表示されていません。これが私が持っているものです:

<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の画面パーセンテージなど)を設定せずに、すべてのテキストを含めるのに十分な幅にする方法はありますか?

4

2 に答える 2

1

私も同じ問題を抱えていました。私が使用していたことが起こります:

android:layout_gravity="center"

それを使用しないでください。使用する:

android:gravity="center"

代わりは。切断されているTextViewでandroid:gravity="center"を使用する必要があるかもしれません。

手助け:

android:layout_gravityは、ビューの外側の重力です。つまり、ビューが親の境界に接する方向を指定します。

android:gravityは、そのビューの内部重力です。これは、コンテンツがどの方向に整列する必要があるかを意味します。

于 2015-04-02T17:39:55.647 に答える
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());

于 2012-06-08T19:38:48.603 に答える