2011-08-02 11 views
1

以下は、3つのボタンのAndroidレイアウトです。見た目はいいですね。しかし、ボタンのTextサイズを他の値に変更すると、レイアウト(フォントサイズと重力は変更されましたが)が破られます。Android:テキストサイズが変更されたときにレイアウトが破損する

<LinearLayout android:weightSum="1.0" 
     android:layout_width="fill_parent" android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" android:layout_marginBottom="20dp" 
     android:background="#FFF"> 

     <Button android:id="@+id/allimagebtn" android:layout_weight=".30" 
      android:layout_height="60dp" 
      android:textColor="#FFF" 
      android:background="@drawable/cam_red" android:text="Images" android:gravity="bottom" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/> 

     <Button android:id="@+id/button2video" android:layout_weight=".30" 
      android:layout_height="60dp" 
      android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_marginTop="2dp"/> 

     <Button android:id="@+id/button3audio" android:layout_weight=".30" 
      android:layout_height="60dp" 
      android:textColor="#FFF" 
      android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/> 

    </LinearLayout> 

<LinearLayout android:weightSum="1.0" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" android:layout_marginBottom="20dp" 
    android:background="#FFF"> 

    <Button android:id="@+id/allimagebtn" android:layout_weight=".30" 
     android:layout_height="60dp" 
     android:textColor="#FFF" 
     android:background="@drawable/cam_red" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_margin="2dp" android:textSize="30dp" android:text="1" android:gravity="top"/> 

    <Button android:id="@+id/button2video" android:layout_weight=".30" 
     android:layout_height="60dp" 
     android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_marginTop="2dp"/> 

    <Button android:id="@+id/button3audio" android:layout_weight=".30" 
     android:layout_height="60dp" 
     android:textColor="#FFF" 
     android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/> 

</LinearLayout> 

後の画像 ![ここに画像の説明を入力] [1]![ここに画像の説明を入力します] [2]

これを回避する方法前

??

お時間をいただきありがとうございます。

http://imageshack.us/photo/my-images/35/beforeff.png/

http://imageshack.us/photo/my-images/9/afteri.png/

+0

「レイアウトを分割する」は、最も役立つ説明ではありません。あなたは、あなたが何を見たいと思っているのか、あなたは何を見ているのか、より具体的になりますか?スクリーンショットはボーナスポイントを獲得します。注釈付きスクリーンショットはユニコーンを取得します。 – Paddy

+0

私はscrenショットでさらに情報を変更して追加しました。あなたはどうか確認できます:) –

+0

もっと便利です。私はそれを刺すだろうが、下の3人は私の最高の推測を既に持っている。 :) – Paddy

答えて

2

を試してみてください。あなたは良いアイデアではないビューの高さと幅を固定している。 私はwrap_contentでテストしたところ、うまくいきました。固定された高さと幅を避け、必要に応じてwrap_contentとfill_parentを使用してみてください。問題が発生した場合は相対レイアウトを使用できます。

+0

ありがとう、私は高さのためにfill_parentに変更し、それは魅力的に働いた:) –

1

01layout_weightlayout_widthを設定)これを試してみてください、あなたがlayout_weightlayout_width を設定しているようだ

それはあなたに合っている場合、それが動作するはずです(でも配信線図の子どもたち

は、私はあなたのコードをチェックし、この

<LinearLayout 
     android:layout_width="fill_parent" android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" android:layout_marginBottom="20dp" 
     android:background="#FFF"> 

     <Button android:id="@+id/allimagebtn" android:layout_weight="1" 
      android:layout_height="60dp" 
      android:textColor="#FFF" 
      android:background="@drawable/cam_red" android:text="Images" android:gravity="bottom" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="0dp" android:layout_margin="2dp"/> 

     <Button android:id="@+id/button2video" android:layout_weight="1" 
      android:layout_height="60dp" 
      android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="0dp" android:layout_marginTop="2dp"/> 

     <Button android:id="@+id/button3audio" android:layout_weight="1" 
      android:layout_height="60dp" 
      android:textColor="#FFF" 
      android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="0dp" android:layout_margin="2dp"/> 

    </LinearLayout> 
+0

時間と答えに感謝しますが、うまくいきませんでした:) –

+0

@Mansiのように重力=センターを追加...しかし、問題はあなたがパーセンテージの重量を使用していると同時に、幅を設定しているということです..なぜ私のコードはうまくいかなかったのですか? –

1

あなたのコードは、android:gravity = "center"をLinearLayoutに追加する必要があります。例については

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:weightSum="1.0" android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_marginBottom="20dp" 
      android:background="#FFF" android:gravity="center"> 
    </LinearLayout> 

私はあなたの問題が解決されると思います。それを試してみてください。

ありがとうございました。

関連する問題