0

我正在为平板电脑开发一个安卓应用程序。我已经实现了一个看起来像这样的 DialogFragment:

在此处输入图像描述

xml 布局由以下代码定义:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#F7F7F7" >

     <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentTop="true">
        <EditText
            android:id="@+id/destinatario_messaggio"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:inputType="text"
            android:hint="Destinatario del messaggio"
            android:textColor="#000000"
            android:textSize="24dp"/>
    </LinearLayout>

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentBottom="true"
        android:background="#FFFFFF">
        <View android:layout_width="fill_parent"
            android:layout_height="1dip"
            android:background="#888888" />
        <EditText
            android:id="@+id/body_messaggio"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="20dp"
            android:inputType="textMultiLine"
            android:text=""
            android:hint="Scrivi Messaggio"
            android:textColor="#000000"
            android:textSize="24dp"
            android:maxLines="5"/>      
    </LinearLayout>
</RelativeLayout>

我有两个问题:

1-由于我使用的是平板电脑,我希望对话框左侧和右侧的所有可用空间都由对话框本身填充。即使我已经在根视图中设置了这个:

android:layout_width="match_parent"

我的 Dialog 浮动在 Activity 的中心,在它的左侧和右侧留出了很多可用空间。我的对话框如何占据我设备中所有可用的宽度?

2-当键盘(IME)出现以编辑EditText字段时,我的对话框在隐藏对话框顶部时被插入(标题和第一个 TextView 变得不可见)。相反,我想要的是对话框的顶部保持在顶部,而对话框的中心是“压缩的”。似乎我的布局不适应新的可用空间。

4

1 回答 1

0

对于您的第一部分,使对话框填充宽度使用。

dialog.getWindow().getAttributes().width = LayoutParams.FILL_PARENT;
于 2013-10-22T10:43:54.253 回答