显示图像占据屏幕的80%

时间:2016-05-02 01:50:11

标签: android android-layout

使用具有相对布局的XML作为根布局,我可以告诉图像视图使用80%的屏幕并将其置于中间。

如果我使用换行内容或数字dp,那么图像在大屏幕上可能太小或对于小屏幕而言太大。不管屏幕是什么样的,我希望它是80‰?

请告诉我你将如何处理此感谢

4 个答案:

答案 0 :(得分:1)

您使用PercentRelativeLayout,导入此

dependencies {
     ...
    compile 'com.android.support:percent:23.3.0'
    ...   
}

在XML中,您使用<android.support.percent.PercentRelativeLayout>代替<RelativeLayout>,它将支持以下代码用于这些孩子

app:layout_heightPercent="80%"
app:layout_widthPercent="80%"

使用android:layout_width / height,您可以使用&#34; wrap_content&#34;,或者不使用,没问题。

答案 1 :(得分:0)

嗯,你不能在XML上这样做,因为这些数学操作不能在那里完成。您可以在XML中使用MATCH_PARENT。

然后以编程方式获取特定的Views MeasuredWidth(),然后将宽度设置为80%。

这种方式更简单,更清洁。

答案 2 :(得分:0)

您可以使用PercentRelativeLayout

<android.support.percent.PercentRelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 <ImageView
     app:layout_widthPercent="80%"
     app:layout_heightPercent="80%"
     android:layout_centerInParent="true"/>
 </android.support.percent.PercentFrameLayout>

答案 3 :(得分:0)

您可以使用线性布局创建重量,如下所示

<?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:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="8"
            android:orientation="horizontal">

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1" />

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="8">

                <ImageButton
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />

    </LinearLayout>
</RelativeLayout>