宽度对话框活动7英寸

时间:2014-02-17 10:16:43

标签: android layout dialog android-activity width

我有一个用于将文件上传到我的应用的对话框活动。问题是,在10英寸的屏幕上它的表现正常,但如果我在7英寸的测试中宽度变得更小(见图片)

10 inch

7 inch

下面是我用于7英寸的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
   android:layout_width="wrap_content"
   android:layout_height="wrap_content">
<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

<!-- Share document wrapper -->
 <LinearLayout
    android:id="@+id/share_document_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginBottom="20dp">

    <!-- Document views -->
    <TextView 
        android:id="@+id/share_document_title"
        android:text="@string/share_document_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->
    <EditText
        android:id="@+id/share_document_single_selected_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:hint="@string/share_document_hint_edittext"/>
    <TextView 
        android:id="@+id/share_document_selected_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:visibility="gone"/>
</LinearLayout>

<!-- Share account wrapper -->
<LinearLayout
    android:id="@+id/share_account_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="0dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp">

    <!-- Account views -->
    <TextView 
        android:id="@+id/share_account_title"
        android:text="@string/share_account_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->

    <LinearLayout 
        android:id="@+id/share_account_info_wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:clickable="true"
        android:background="@drawable/sliding_contact_menu_row_selector" >
        <TextView 
            android:id="@+id/share_account_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</LinearLayout>

<!-- Share project wrapper -->
<LinearLayout
    android:id="@+id/share_project_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp">

    <!-- Project and folders views -->
    <TextView 
        android:id="@+id/share_project_title"
        android:text="@string/share_project_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginBottom="16dp">
        <Spinner
            android:id="@+id/share_project_spinner"
            android:layout_width="500dp"
            android:layout_height="wrap_content"
            android:spinnerMode="dialog"/>

        <Button 
            android:id="@+id/share_project_create_new_project"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="16dp"
            android:background="@drawable/green_button"
            android:textColor="@color/MyWhite"
            android:text="+"
            android:textStyle="bold"/>
    </LinearLayout>


</LinearLayout>

<!-- Share folder wrapper -->
<LinearLayout
    android:id="@+id/share_folder_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp">

    <!-- Project and folders views -->
    <TextView 
        android:id="@+id/share_folder_title"
        android:text="@string/share_folder_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->
     <LinearLayout 
        android:id="@+id/share_folder_info_wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="16dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:clickable="true"
        android:background="@drawable/sliding_contact_menu_row_selector" >
        <ProgressBar
            android:id="@+id/share_loader"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_marginRight="16dp"
            android:layout_gravity="center_vertical" />
         <ImageView
            android:id="@+id/share_folder_icon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/folder_icon"
            android:layout_marginRight="16dp"
            android:layout_gravity="center_vertical" />

        <TextView 
            android:id="@+id/share_folder_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"/>
    </LinearLayout>
</LinearLayout>
    <LinearLayout
        android:id="@+id/share_document_wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp">

    <!-- Documents views -->
    <TextView 
        android:id="@+id/share_document_title"
        android:text="@string/share_document_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->
     <RelativeLayout 
        android:id="@+id/share_document_info_wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="16dp"
        android:paddingTop="10dp"
        android:paddingBottom="30dp"
        android:clickable="false"
        android:background="@drawable/sliding_contact_menu_row_selector" >
         <ImageView
            android:id="@+id/share_document_icon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/upload_document_purple"
            android:layout_marginRight="16dp"
            android:layout_alignParentLeft="true" />

        <TextView 
            android:id="@+id/share_document_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:layout_toRightOf="@id/share_document_icon"/>

        <Switch
            android:id="@+id/share_document_switch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:switchPadding="200sp"
            android:thumb="@drawable/switch_custom_share"
            android:textOn="Als versie"
            android:textOff="Nieuw"
            android:textColor="@color/MyWhite"
            android:layout_alignParentRight="true"
            android:enabled="false"/>
    </RelativeLayout>
    <TextView
        android:id="@+id/share_warning_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/share_warning_message" 
        android:textColor="@color/MyRed"
        android:textSize="14sp"
        android:layout_marginBottom="16dp"
        android:visibility="gone"/>

</LinearLayout>


<!-- Buttons bottom wrapper -->
<View
    android:layout_width="fill_parent"
    android:layout_height="1dip"
    android:background="?android:attr/dividerHorizontal" />
<LinearLayout
    style="?android:attr/buttonBarStyle" 
    android:id="@+id/share_buttons_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <Button
        style="?android:attr/buttonBarButtonStyle" 
        android:id="@+id/share_button_cancel"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/archive_cancel"
        android:textSize="20sp"/>
    <Button
        style="?android:attr/buttonBarButtonStyle" 
        android:id="@+id/share_button_upload"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="20sp"
        android:text="OK"/>
</LinearLayout>
</LinearLayout>
</ScrollView>

因为我在这里使用自定义主题是我的自定义样式:

<style name="MyShareTheme" parent="android:Theme.Holo.Light.Dialog">
    <item name="android:windowIsFloating">false</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowSoftInputMode">stateAlwaysHidden</item>
    <item name="android:windowActionModeOverlay">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

问题:

如何让7英寸屏幕上的对话活动与10英寸对话框上的对话活动相同?

修改

根据要求,我的10英寸屏幕布局代码:

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

<!-- Share document wrapper -->
<LinearLayout
    android:id="@+id/share_document_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginBottom="0dp">

    <!-- Document views -->
    <TextView 
        android:id="@+id/share_document_title"
        android:text="@string/share_document_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:layout_marginBottom="6dp"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->
    <EditText
        android:id="@+id/share_document_single_selected_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/share_document_hint_edittext"/>
    <TextView 
        android:id="@+id/share_document_selected_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="visible"
        android:textSize="18sp"/>
</LinearLayout>

<!-- Share account wrapper -->
<LinearLayout
    android:id="@+id/share_account_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp">

    <!-- Account views -->
    <TextView 
        android:id="@+id/share_account_title"
        android:text="@string/share_account_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->

    <LinearLayout 
        android:id="@+id/share_account_info_wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:clickable="true"
        android:background="@drawable/sliding_contact_menu_row_selector" >
        <ImageView
            android:id="@+id/share_account_icon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/person_icon"
            android:layout_marginRight="16dp"
            android:layout_marginLeft="10dp"
            android:layout_gravity="center_vertical" />
        <TextView 
            android:id="@+id/share_account_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="18sp"/>
    </LinearLayout>
</LinearLayout>

<!-- Share project wrapper -->
<LinearLayout
    android:id="@+id/share_project_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp">

    <!-- Project and folders views -->
    <TextView 
        android:id="@+id/share_project_title"
        android:text="@string/share_project_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginBottom="16dp">
        <Spinner
            android:id="@+id/share_project_spinner"
            android:layout_width="500dp"
            android:layout_height="wrap_content"
            android:spinnerMode="dialog"/>

        <Button 
            android:id="@+id/share_project_create_new_project"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="16dp"
            android:background="@drawable/green_button"
            android:textColor="@color/MyWhite"
            android:text="+"
            android:textStyle="bold"/>
    </LinearLayout>
</LinearLayout>

<!-- Share folder wrapper -->
<LinearLayout
    android:id="@+id/share_folder_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp">

    <!-- Project and folders views -->
    <TextView 
        android:id="@+id/share_folder_title"
        android:text="@string/share_folder_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->
     <LinearLayout 
        android:id="@+id/share_folder_info_wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="16dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:clickable="true"
        android:background="@drawable/sliding_contact_menu_row_selector" >
         <ProgressBar
            android:id="@+id/share_loader"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_marginRight="16dp"
            android:layout_gravity="center_vertical" />
         <ImageView
            android:id="@+id/share_folder_icon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/folder_icon"
            android:layout_marginRight="16dp"
            android:layout_gravity="center_vertical" />

        <TextView 
            android:id="@+id/share_folder_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="18sp"/>
    </LinearLayout>
</LinearLayout>
<LinearLayout
    android:id="@+id/share_document_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp">

    <!-- Documents views -->
    <TextView 
        android:id="@+id/share_document_title"
        android:text="@string/share_document_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="6dp"/>

    <!-- Divider -->
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="?android:attr/dividerHorizontal" />
    <!-- /Divider -->
     <RelativeLayout 
        android:id="@+id/share_document_info_wrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="16dp"
        android:paddingTop="10dp"
        android:paddingBottom="30dp"
        android:clickable="false"
        android:background="@drawable/sliding_contact_menu_row_selector" >
         <ImageView
            android:id="@+id/share_document_icon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:src="@drawable/upload_document_purple"
            android:layout_marginRight="16dp"
            android:layout_alignParentLeft="true" />

        <TextView 
            android:id="@+id/share_document_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:layout_toRightOf="@id/share_document_icon"/>

        <Switch
            android:id="@+id/share_document_switch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:switchPadding="200sp"
            android:thumb="@drawable/switch_custom_share"
            android:textOn="Als versie"
            android:textOff="Nieuw"
            android:textColor="@color/MyWhite"
            android:layout_alignParentRight="true"
            android:enabled="false"/>
    </RelativeLayout>
    <TextView
        android:id="@+id/share_warning_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/share_warning_message" 
        android:textColor="@color/MyRed"
        android:textSize="14sp"
        android:layout_marginBottom="16dp"
        android:visibility="gone"/>

</LinearLayout>


<!-- Buttons bottom wrapper -->
<View
    android:layout_width="fill_parent"
    android:layout_height="1dip"
    android:background="?android:attr/dividerHorizontal" />
<LinearLayout
    style="?android:attr/buttonBarStyle" 
    android:id="@+id/share_buttons_wrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <Button
        style="?android:attr/buttonBarButtonStyle" 
        android:id="@+id/share_button_cancel"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/archive_cancel"
        android:textSize="20sp"/>
    <Button
        style="?android:attr/buttonBarButtonStyle" 
        android:id="@+id/share_button_upload"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="20sp"
        android:text="OK"/>
</LinearLayout>

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

在10英寸屏幕中创建一个具有对话框宽度值的dimen.xml文件,并添加一个与7英寸屏幕相对应的值。这将处理对话框的宽度。

为7英寸创建值-sw600dp文件夹,为10英寸创建值-sw720dp。在这些文件夹中添加一个dimen.xml文件,其宽度值为u want。例如

对于sw600dp,dimen.xml文件

<resources>

    <dimen name="popup_width">400dp</dimen>

</resources>

对于sw72dp的dimen.xml文件

<resources>

    <dimen name="popup_width">500dp</dimen>

</resources>

并将其添加到'layout_width',如下所示

layout_width="@dimen/popup_width"

答案 1 :(得分:0)

试试这个..

ScrollView 宽度设为match_parent

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
   android:layout_width="match_parent"
   android:layout_height="wrap_content">

修改

可能会有所帮助

<LinearLayout
    android:id="@+id/share_document_wrapper"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginBottom="20dp">

答案 2 :(得分:0)

scrollview 的layout_width属性设置为match_parent

这将使您的对话活动全屏显示。 并且保证金属性将使其平等。