我是初学者。我正在开发一个应用程序,我面临一个奇怪的布局问题。 当我在小型设备中运行我的应用程序时它工作正常,但是当我在大屏幕设备上运行它时,它的布局属性会自动更改。 如果有任何方法可以为所有屏幕尺寸以编程方式创建单个布局,请告诉我们? 我的xml是,
<RelativeLayout android:id="@+id/contents"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/imgBtn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/panchangtab1" />
<ImageButton
android:id="@+id/imgBtn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_toRightOf="@+id/imgBtn1"
android:background="@drawable/horoscopetab1" />
</RelativeLayout>
这里我得到的第一张图片还可以,但是第二张图片的实际尺寸并不大。
答案 0 :(得分:3)
你必须使用fill_parent,match_parent,wrap_content单位来表示布局的宽度和高度......你还必须使用重量来进行布局,而不是硬编码高度和宽度。
检查此链接以获取多屏幕支持布局...... http://developer.android.com/guide/practices/screens_support.html
答案 1 :(得分:1)
它对我有用
在布局声明中使用 weightsum 会对您有所帮助。
<LinearLayout
android:weightSum="100" //This is horizontal layout so will work for width
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:id="@+id/txt1"
android:layout_weight="40" //40% for text1
android:layout_height="40dp"
>
</EditText>
<EditText
android:id="@+id/txt2"
android:layout_weight="60" //60% for text2
android:layout_height="50dp"
>
</EditText>
</LinearLayout>
答案 2 :(得分:0)
请浏览以下网站以开发多屏幕支持应用程序。
http://developer.android.com/training/multiscreen/index.html(也请关注子链接)http://developer.android.com/guide/practices/screens_support.html
答案 3 :(得分:0)
您应该在布局文件中使用match_parent和wrap_content。在RelativeLayout或LinearLayout或bla bla。中使用它们。
如果您希望ImageView,TextView,Button ...覆盖整个屏幕宽度,则应在 layout_width 上使用 fill_parent 。此外,如果您希望ImageView,TextView,Button ...覆盖整个屏幕高度,则应在 layout_height 上使用 fill_parent 。
您可以查看LayoutParams
答案 4 :(得分:0)
您可以使用match_parent,wrap_content,fill_parent等属性,不要创建硬编码布局文件。使用9个补丁图像,不是静态的,并非所有情况都满足你的条件使用9补丁,但是当你发现一些图像可以在9个补丁中工作所以制作9个补丁时,这只适用于ImageView而不是所有组件,剩下的东西TextViews,EditText等您可以使用自己的创建,但不要创建硬编码布局。
答案 5 :(得分:0)