カスタムAlertDialog
を作成しようとしていて、レイアウトにボタンが2つあります。しかし、ボタンレイアウトが長すぎると、最初の単語だけが表示されます。私はすでにxml singleLine = "false"
に設定していますが、何も設定していません。ボタンのテキストに複数の行が含まれていない
また、ボタンの行数(この場合は2)をコードに設定しました。ただし、テキストが長すぎない場合は、ボタンが大きくなり、内容は折り返されません。
私がしたいのは、ボタンのテキスト行を壊して長すぎる場合でもボタン全体を折り返すようにすることです。また、ボタンのテキスト行全体をラッピングするため、テキストの場合、その辺のボタンは同じ高さになります。私はAndroidが自動的にそれをしていることを知っている、私はなぜ起こっていないのか分からない。
下の画像では、ボタンのテキストは「これはテストボタンです」がテキストをカットし、幅を変更せずにコンテンツをラップしません。ここで
このレイアウトのxmlです:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="280dip" >
<LinearLayout
android:id="@+id/dialogTitleLayout"
android:orientation="vertical"
android:background="@drawable/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
style="@style/DialogText.Title"
android:id="@+id/dialogTitle"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:paddingLeft="8dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:id="@+id/dialogContentLayout"
android:orientation="vertical"
android:background="@drawable/center"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
style="@style/DialogText"
android:id="@+id/dialogContent"
android:layout_width="270dip"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingTop="10dp" />
<LinearLayout
android:id="@+id/buttonsLayout"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="10dp" >
<Button
android:id="@+id/neutralButton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:layout_gravity="center_horizontal"
android:layout_marginRight="90dp"
android:layout_marginLeft="90dp"
android:layout_marginBottom="10dp"
android:singleLine="false" />
<Button
android:id="@+id/positiveButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:layout_weight="1"
android:paddingRight="10dp"
android:layout_margin="10dp"
android:singleLine="false" />
<Button
android:id="@+id/negativeButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:layout_weight="1"
android:paddingRight="10dp"
android:layout_margin="10dp"
android:singleLine="false" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
なぜsingleLine = "true"?私はそれがボタンのテキスト行を壊すことを望む。 – rogcg
uをsingleline = "true"に設定すると、テキスト全体が1行に表示され、uは反対に動作します。 があなたのボタンかもしれませんtextsizeが長すぎ、ボタンの幅がテキストのサイズより小さいです。 2つのオプションがありましたが、ラップコンテンツのようにボタンの幅を広げたり、テキストのサイズを2つ小さくする必要がありました。 –
しかし、テキストサイズが長すぎる場合でも、テキスト行を壊す必要があります。ボタンの幅はfill_parentです。 – rogcg