我有三星Galaxy S2和三星Note 10.1。我先在S2上创建,现在我尝试在Note10.1上运行,但屏幕大小不一样。我需要将note10.1的屏幕看起来像S2。
我尝试将大图放入xhdpi,但它在每个屏幕大小的hdpi中使用图片。
Galaxy S2
注10.1
这是我的xml
<?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:background="#000000"
android:orientation="vertical" >
<project.kmutt.Action_bar_view
android:id="@+id/actionBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="20dp"
android:orientation="vertical" >
</LinearLayout>
<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="979px"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_weight="0.75"
android:columnWidth="90px"
android:numColumns="3"
android:gravity="center"
android:horizontalSpacing="10px"
android:stretchMode="columnWidth"
android:verticalSpacing="30px" >
</GridView>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#000000" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#000"
android:src="@drawable/home" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#000"
android:gravity="center_horizontal"
android:src="@drawable/web" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#000"
android:gravity="center_horizontal"
android:src="@drawable/setting" />
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#000"
android:gravity="center_horizontal"
android:src="@drawable/about" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Home" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Website" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Setting" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="About" />
</TableRow>
</TableLayout>
</LinearLayout>
答案 0 :(得分:1)
为两种尺寸之一创建不同的布局文件夹。这些是您可以创建的可能的文件夹结构。
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 screen size
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
Android将根据其运行的设备在右侧文件夹中查找my_layout.xml
文件。如果找不到特定文件夹(例如layout-xlarge
),它将使用默认my_layout.xml
文件夹中的res/layout/
文件。
您可以在here
上找到更多相关信息并且经常避免使用LinearLayouts。如果为多个屏幕创建一个布局文件,RelativeLayouts会好很多。