0

カスタム ビューでダイアログを表示しようとしています。レイアウトはとてもシンプルです。基本的に 2 つLinearLayoutsあります。TextViewとを含むすべてのレイアウトEditText

私が使用しているレイアウトはこれです:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
  <LinearLayout
    android:orientation="vertical"
    android:layout_margin="5dip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/ll_element1">    
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Element 1"/>
    <EditText
      android:layout_width="250dip"
      android:layout_height="wrap_content"
      android:lines="5"/>
  </LinearLayout>
  <LinearLayout
    android:orientation="vertical"
    android:layout_margin="5dip"
    android:layout_width="wrap_content"
    android:layout_below="@id/ll_element1"
    android:layout_height="wrap_content">    
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Element 2"/>
    <EditText
      android:layout_width="250dip"
      android:layout_height="wrap_content"
      android:lines="5"/>
  </LinearLayout>
</RelativeLayout>

しかし、ダイアログのビューとして設定すると、次のようになります。 不適切なサイズのダイアログ

ダイアログを表示するための私のコードは次のとおりです。

var view = this.LayoutInflater.Inflate(Resource.Layout.Custom_Dialog, null);

var dialog = new AlertDialog.Builder(this)
            .SetView(view)
            .Create();

dialog.Show();

私の意見では、レイアウトがダイアログを埋めるように、ダイアログの幅を小さくする必要があります。私はいくつかのことを試しました:

  • RelativeLayout の代わりに LinearLayout を使用する
  • すべてのサイズの explizit の設定
  • AlertDialog の代わりに Dialog を使用

では、正しいサイズのダイアログを取得するにはどうすればよいですか?

edit 写真を更新しました

4

5 に答える 5

2

これを試して

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll_element1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="5dip"
    android:orientation="vertical" >

    <EditText
        android:layout_width="250dip"
        android:layout_height="wrap_content"
        android:hint="Element 1"
        android:lines="5" />

    <EditText
        android:layout_width="250dip"
        android:layout_height="wrap_content"
        android:hint="Element 2"
        android:lines="5" />

</LinearLayout>

あなたの活動で

final Dialog dialog = new Dialog(YourActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.yourCustomdialog);
dialog.setCancelable(true);
dialog.show();
于 2012-08-23T13:19:24.893 に答える
1

TextView を削除android:hintし、 EditText で使用します。両方EditText in One LinearLayoutvertical Orientation.

android:layout_width of EditText as fill_parent親だけでなく変更も行います。

于 2012-08-23T13:11:34.413 に答える
1

に を設定しlines=5EditTextので、スペースを取っています。dpの代わりに使用、これdipをチェック

さて、あなたはそれをどのように表示したいですか?正確な問題を特定できるように、いくつかの参照を提供してください。

于 2012-08-23T13:16:45.720 に答える