2016-04-07 14 views
0

ピン番号を入力する画面を作成しています。私は垂直線形レイアウトを使用しました。この線形レイアウトの中で私は4つの水平線形レイアウトを作成しました。これらの線形レイアウトでは、固定幅と高さのボタンがあります。ボタンテキストのフォントサイズが同じ場合は表示されますが、最後の2つのボタンのフォントサイズを小さくすると、その2つのボタンが水平線形レイアウト内でクリップされます。詳しい説明はスクリーンショットをご覧ください。LinearLayoutがラッピングされない異なるフォントサイズのボタン表示

With different button font sizes

With same button font sizes (40sp)

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    style="@style/RootLayout" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 
    <include layout="@layout/actionbar_login"/> 
    <TextView 
     style="@style/TextViewLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="40dp" 
     android:text="@string/welcome"/> 
    <TextView 
     style="@style/TextViewNormal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="5dp" 
     android:text="@string/enter_pin"/> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="30dp" 
     android:orientation="horizontal"> 
     <View 
     android:layout_width="15dp" 
     android:layout_height="15dp" 
     android:layout_marginRight="20dp" 
     android:background="@drawable/circle_gray"/> 
     <View 
     android:layout_width="15dp" 
     android:layout_height="15dp" 
     android:layout_marginRight="20dp" 
     android:background="@drawable/circle_gray"/> 
     <View 
     android:layout_width="15dp" 
     android:layout_height="15dp" 
     android:layout_marginRight="20dp" 
     android:background="@drawable/circle_gray"/> 
     <View 
     android:layout_width="15dp" 
     android:layout_height="15dp" 
     android:layout_marginRight="20dp" 
     android:background="@drawable/circle_gray"/> 
     <View 
     android:layout_width="15dp" 
     android:layout_height="15dp" 
     android:layout_marginRight="20dp" 
     android:background="@drawable/circle_gray"/> 
     <View 
     android:layout_width="15dp" 
     android:layout_height="15dp" 
     android:background="@drawable/circle_gray"/> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:orientation="horizontal"> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_1" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_2" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_3" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:orientation="horizontal"> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_4" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_5" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_6" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:orientation="horizontal"> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_7" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_8" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_9" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:orientation="horizontal"> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="0" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_marginRight="30dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="@string/_0" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
     <Button 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:background="@drawable/selector_pin_button" 
     android:text="0" 
     android:textColor="@drawable/selector_pin_button_text" 
     android:textSize="40sp"/> 
    </LinearLayout> 
</LinearLayout> 
+0

数字は1桁で、文字数は6桁以上です –

+0

次に、テキスト全体を70dpの幅と高さに保つ必要があります。 –

+0

直線レイアウトはラップコンテンツです。少なくともボタンを下に移動している場合は、ボタンをクリップするべきではありません。 –

答えて

0

アンドロイドのビューなどのボタンは、テキストの設定ようにする「テキスト」のパラメータ、画像への「背景」とするためのいくつかの基本パラメータ(スタイル)を持っているからです。 あなたのために別のビュー要素を使用しようとします。例えば、単純なTextView。

別の問題は、あなたの親ViewGroupのwrap_contentで、さまざまな理由でサイズが大きくなる可能性があります。

関連する問題