Android没有扩展我的布局?

时间:2014-02-01 01:30:19

标签: java android xml

我以为android会自动默认会缩放你的布局吗?好吧,相应地,我有一个4页的ViewPager。 ViewPager放置在中间,而像按钮一样的标题顶部以及像按钮一样占据底部。所有这三种观点都是分开的。

我手机上的应用程序看起来很棒,但是当我在朋友的手机上测试它时,ViewPager会失去它的高度。我有310dp的高度和match_parent的宽度。因此,当我的应用程序在我的朋友手机上运行时,它的纵向高度更长,为什么我的ViewPager不能像在手机上那样与我的页脚相遇?

拜托,谢谢!

3 个答案:

答案 0 :(得分:0)

您的布局是否为LinearLayout?那么你的ViewPager应该有layout_weight = 1和layout_height = 0dp。

答案 1 :(得分:0)

指定高度时,Android会使用您指定的高度。如果您使用相对布局并对齐顶部和底部,那么您将在某处拥有空间。

另外,您需要考虑宽高比。如果你朋友的手机的垂直像素比你的多,你想要这个差距,还是想要拉伸图像?有了所有设备,这是一个非常重要的问题。

阅读:http://ugiagonzalez.com/2012/01/19/android-linearlayout-distribution-explained-weight-and-sizes/

并且:Button size and padding within RelativeLayout

答案 2 :(得分:0)

要在所有手机上成功运行您的应用程序,您可以使用布局权重属性将整个布局包裹在线性布局中,如

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
         android:text="@string/header" />
  <ViewPager
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />
    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="@string/send" />
</LinearLayout>

这样你的布局适合所有的屏幕