2

アクティビティクラスがあります。この Activity クラスには、XML レイアウトがあります。このアクティビティ クラスをダイアログとして表示したいので、マニフェストで次の変更を行います。

 <activity
    android:name=".AlarmDialogActivity"
    android:theme="@android:style/Theme.Dialog">            
 </activity> 

アプリを実行すると、アクティビティ クラスがダイアログとして表示されますが、幅が圧縮されているため、デバイスの全画面表示にはなりません。なぜこれが起こるのですか?誰でもこれを解決するのを手伝ってもらえますか?

xml レイアウトのコード

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_alarm_dialog"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#E0D5B1"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="vertical" >

        <TextView
            android:id="@+id/dialog_title_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/dialog_title_text"
            android:textColor="#e89192"
            android:textSize="18dp" >
        </TextView>

        <ListView
            android:id="@+id/alarm_list_view"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="15dp"
            android:layout_marginTop="10dp"
            android:cacheColorHint="#00000000"
            android:divider="@null"
            android:dividerHeight="0dp"
            android:listSelector="#00000000" >
        </ListView>

    <LinearLayout
        android:id="@+id/bottom_control_bar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:gravity="center_horizontal|center_vertical" >

        <Button
            android:id="@+id/button_dismiss"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/button_dismiss_text"
            android:textColor="#121212"
            android:textSize="18dp" >
        </Button>
    </LinearLayout>

</LinearLayout>

ダイアログのスクリーンショット

ここに画像の説明を入力

4

4 に答える 4

2

次の方法で xml レイアウト ファイルを変更します。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">


    <Button 
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="xxxxxxxx"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:textColor="#121212"
            android:textSize="18dp"/>

    <TextView 
        android:id="@+id/txt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="xxxxxxxxxxxx"
        android:textColor="#e89192"
        android:textSize="18dp"
        android:gravity="center"/>

    <ListView 
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/txt"
        android:layout_above="@+id/btn"/>


</RelativeLayout>

レイアウトに追加したいスタイルを追加します。

アクティビティの setcontentview の前に以下の行を追加します。

requestWindowFeature(Window.FEATURE_NO_TITLE);

これは、アクティビティの下のマニフェスト ファイルにあります。

 android:theme="@android:style/Theme.Dialog"
于 2012-07-11T08:11:41.530 に答える
0

アクティビティクラスファイルでこれを試してください。

WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialogPost.getWindow().getAttributes());                      
lp.gravity = Gravity.CENTER;
lp.width = WindowManager.LayoutParams.FILL_PARENT;
dialogPost.getWindow().setAttributes(lp);  
dialogPost.show();

はどこdialogPostにありますかDialogBox。でビューを変更できますdialogPost

于 2012-07-11T07:39:16.497 に答える
0

android:layout_width="fill_parentTextView で試してください。それは私のために働いた。

于 2012-07-11T08:03:28.077 に答える
0

これを試して:

<TextView
    android:id="@+id/dialog_title_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:text="@string/dialog_title_text"
    android:textColor="#e89192"
    android:textSize="18dp" >
</TextView>
于 2012-07-11T07:28:44.503 に答える