我有一个带有一些编辑文本和按钮的应用程序。我通过创建具有分辨率的布局文件夹尝试了不同的屏幕支持。 例如:RES /布局320×240 / main.xml中 res文件夹中有不同的分辨率。一切都好。但我有720x1280分辨率的问题。我有一个720x1280,320dpi仿真器的模拟器。在检查此设备时,我得到了这样的输出
这是实际观点。
如何解决此问题。所有其他决议都可以。使用模拟器自动检测屏幕大小。请给出解决方案..
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:background="@drawable/book_background"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_above="@+id/relative1"
android:layout_alignParentLeft="true" >
<AutoCompleteTextView
android:id="@+id/editText2"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_alignBaseline="@+id/textView4"
android:layout_alignBottom="@+id/textView4"
android:layout_alignLeft="@+id/editText1"
android:background="@drawable/edittext_style"
android:hint=" Enter your source..."
android:inputType="textAutoComplete|textAutoCorrect" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="BOOK YOUR JOURNEY"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/edit_name"
android:layout_marginTop="60dp"
android:text="Contact:"
android:textColor="#000000" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView2"
android:layout_below="@+id/editText1"
android:layout_marginTop="60dp"
android:text="From:"
android:textColor="#000000" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView6"
android:layout_below="@+id/editText2"
android:layout_marginTop="60dp"
android:text="To:"
android:textColor="#000000" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView4"
android:layout_below="@+id/editText3"
android:layout_marginTop="60dp"
android:text="Date:"
android:textColor="#000000" />
<EditText
android:id="@+id/editDate"
android:layout_width="150dp"
android:layout_height="45dp"
android:layout_alignBaseline="@+id/textView6"
android:layout_alignBottom="@+id/textView6"
android:layout_alignLeft="@+id/editText3"
android:background="@drawable/edittext_style"
android:inputType="date"
android:textColor="#000000" >
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_marginLeft="50dp"
android:layout_marginTop="50dp"
android:text="Name:"
android:textColor="#000000" />
<AutoCompleteTextView
android:id="@+id/editText3"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_alignBaseline="@+id/textView5"
android:layout_alignBottom="@+id/textView5"
android:layout_alignLeft="@+id/editText2"
android:background="@drawable/edittext_style"
android:ems="10"
android:hint=" Enter your destination..."
android:inputType="textAutoComplete|textAutoCorrect" >
</AutoCompleteTextView>
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView6"
android:layout_toRightOf="@+id/editDate"
android:text="Time:"
android:textColor="#000000"
android:layout_marginLeft="15dp" />
<EditText
android:id="@+id/editTime"
android:layout_width="115dp"
android:layout_height="50dp"
android:layout_marginLeft="5dp"
android:layout_alignTop="@+id/editDate"
android:layout_toRightOf="@+id/textView7"
android:background="@drawable/edittext_style"
android:layout_marginTop="11dp"
android:inputType="date"
android:hint=" Time" />
<EditText
android:id="@+id/edit_name"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_toRightOf="@+id/textView3"
android:background="@drawable/edittext_style"
android:hint=" Enter your name... " />
<EditText
android:id="@+id/editText1"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
android:layout_alignLeft="@+id/edit_name"
android:background="@drawable/edittext_style"
android:inputType="number"
android:hint=" Enter your number..." >
</EditText>
</RelativeLayout>
<RelativeLayout
android:id="@+id/relative1"
android:layout_width="fill_parent"
android:layout_height="180dp"
android:layout_marginBottom="25dp"
android:layout_above="@+id/linearLayout1"
android:layout_alignParentLeft="true" >
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="54dp"
android:layout_marginTop="18dp"
android:text="Vehicle:"
android:textColor="#000000" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="320dp"
android:layout_height="50dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/textView8"
android:background="@drawable/edittext_style" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignBottom="@+id/textView8"
android:layout_alignRight="@+id/spinner1"
android:layout_marginTop="10dp"
android:layout_marginRight="5dp"
android:src="@drawable/arrow" />
<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editText4"
android:layout_alignBottom="@+id/editText4"
android:layout_alignLeft="@+id/textView8"
android:text="Passengers:"
android:layout_marginBottom="10dp"
android:textColor="#000000" />
<EditText
android:id="@+id/editText4"
android:layout_width="150dp"
android:layout_height="45dp"
android:layout_marginBottom="10dp"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/spinner1"
android:background="@drawable/edittext_style"
android:inputType="number" />
</RelativeLayout>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="85dp"
android:layout_alignParentBottom="true"
android:layout_margin="10dp"
android:orientation="horizontal" >
<Button
android:id="@+id/button_cancel"
android:layout_width="180dp"
android:layout_height="55dp"
android:layout_marginLeft="40dp"
android:layout_marginTop="10dp"
android:background="@drawable/settings_btnstyle"
android:text="Exit" />
<Button
android:id="@+id/button_send"
android:layout_width="180dp"
android:layout_height="55dp"
android:layout_marginLeft="30dp"
android:layout_marginTop="10dp"
android:background="@drawable/settings_btnstyle"
android:text="Send" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:1)
我建议您阅读Google文档以获取更多详细信息。 这是链接Supporting Multiple Screens。
答案 1 :(得分:0)
对于不同的屏幕尺寸,以下是应用程序中的资源目录列表,它为不同的屏幕尺寸和不同的位图绘图提供不同的布局设计,适用于小型,中型,高密度和超高密度屏幕。
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screensize
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
Manifest中的代码支持所有dpis。
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
答案 2 :(得分:-1)
您需要使用线性布局,方向垂直和方向水平
提供权重而不是硬编码的示例代码
<Label
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Name :" />
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
/>
</LinearLayout>
您可以参考developers.android.com here