【问题标题】:How to adjust screen size for all android devices如何调整所有安卓设备的屏幕尺寸
【发布时间】:2016-06-11 18:06:58
【问题描述】:

我似乎无法找到一种方法将照片放到我的主页屏幕上,我尝试了许多不同的方法,但都没有成功。我有一个图像可以推动其下方的布局并挤压屏幕上的按钮。有什么办法可以自动调整不同屏幕的高度吗?我只需要高度,因为宽度应该是 match_parent。下面是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="@color/white"
    android:orientation="vertical" 
   >

    <RelativeLayout
        android:id="@+id/headerLayout"
        android:layout_width="match_parent"
        android:layout_height="?android:attr/actionBarSize"
        android:background="@drawable/nav_bar_homepage" >

        <TextView
            android:id="@+id/pageTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="WELCOME!" />

        <ImageView
            android:id="@+id/hiddenIcDrawer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginTop="10dp"
            android:src="@drawable/nav_icon"
            android:visibility="invisible" />
    </RelativeLayout>

    <ImageView
        android:id="@+id/horLine"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/headerLayout"
        android:scaleType="center"
        android:src="@drawable/line_big_white" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:scaleType="fitStart" >

        <ImageView
            android:id="@+id/image_homepage_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/image_homepage"
             />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center"
        android:layout_margin="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:background="@drawable/field_red_homepage"
        android:orientation="vertical"
        android:scaleType="fitXY" >

        <ImageView
            android:id="@+id/logo_homep"
            android:layout_width="wrap_content"
            android:layout_height="80dp"
            android:layout_gravity="center"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="5dp"
            android:paddingBottom="10dp"
            android:scaleType="fitXY"
            android:src="@drawable/logo_homepage" />

        <ImageView
            android:id="@+id/redeembytton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_margin="10dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="@drawable/btn_redeemrewards"
            android:scaleType="fitXY" >
        </ImageView>

        <ImageView
            android:id="@+id/orderbutton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_margin="10dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="15dp"
            android:background="@drawable/btn_orderonline"
            android:scaleType="fitXY" >
        </ImageView>

        <ImageView
            android:id="@+id/rewardsButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_margin="10dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="15dp"
            android:background="@drawable/btn_earnrewards"
            android:scaleType="fitXY" >
        </ImageView>

        <ImageView
            android:id="@+id/referFriendButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_margin="10dp"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="15dp"
            android:background="@drawable/btn_referafriend"
            android:scaleType="fitXY" >
        </ImageView>
    </LinearLayout>

</LinearLayout>

【问题讨论】:

    标签: android-layout android-xml android-screen-support


    【解决方案1】:

    如果您可以向下滚动以到达 ImageView 下的内容,请将您的 xml 代码包装到 ScrollView 中。如果不想向下滚动,最好使用“权重”属性。我正在告诉你如何在你的代码中实现它。

    假设整个屏幕的高度为 1。您有一个图像和一个按钮可以放在所有设备的屏幕上。所以将屏幕分成两部分...... imageview 为 0.8,按钮为 0.2。你可以使用下面的代码来得到这个结果。

    <?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" >
    
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="0dp"  <!-- Important >
            android:orientation="vertical"
            android:layout_weight=".8" > <!-- 80% of your screen size>
    
            <!-- Your ImageView >
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"  <!-- Important >
            android:orientation="vertical"
            android:layout_weight=".2" > <!-- 20% of your screen size>
    
            <!-- Your Button >
    
         </LinearLayout>
    
    </LinearLayout>
    

    【讨论】:

    • 感谢您的帮助:D,我选择了权重选项,因为主页上不允许滚动视图
    【解决方案2】:

    试试这个

    我认为你应该使用 android:layout-weight="1" 用于根据不同设备调整高度。在您的&lt;ImageLayout/&gt;中使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多