我有一个用于将文件上传到我的应用的对话框活动。问题是,在10英寸的屏幕上它的表现正常,但如果我在7英寸的测试中宽度变得更小(见图片)
下面是我用于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>
答案 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
这将使您的对话活动全屏显示。 并且保证金属性将使其平等。