当有更大的屏幕时,视图会增长

时间:2015-12-10 20:27:13

标签: android android-layout

这是我的布局代码 我像root一样使用网格布局然后为每一行在该框架内部布局框架布局两个框架布局与图像和txt ......

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:columnCount="1"
android:rowCount="2">

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <FrameLayout
        android:layout_width="200dp"
        android:layout_height="220dp"
        android:layout_marginLeft="2dp"
        android:layout_marginTop="2dp"
        android:layout_marginBottom="0.1dp"
        android:layout_marginRight="2dp"
        android:layout_row="1"
        android:layout_column="1">

        <ImageView
            android:layout_width="150dp"
            android:layout_height="190dp"
            android:id="@+id/am"
            android:layout_gravity="top|center_horizontal"
            android:src="@drawable/black" />

        <TextView
            android:layout_width="153dp"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="text"
            android:id="@+id/w"
            android:layout_gravity="bottom|center"

            android:layout_marginBottom="10dp" />

    </FrameLayout>

    <FrameLayout
        android:layout_width="200dp"
        android:layout_height="220dp"
        android:layout_marginRight="2dp"
        android:layout_marginLeft="2dp"
        android:layout_marginTop="0dp"
        android:layout_row="1"
        android:layout_column="0"
        android:layout_gravity="right|center_vertical">

        <ImageView
            android:layout_width="150dp"
            android:layout_height="190dp"
            android:id="@+id/imageView"
            android:layout_gravity="top|center"
            android:src="@drawable/black" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="text"
            android:id="@+id/textView2"
            android:layout_gravity="bottom|center"
            android:layout_marginBottom="10dp" />
    </FrameLayout>

</FrameLayout>

这是它的看法

enter image description here

看起来很酷吗? 这是我的问题,当我把它带到一个更大的屏幕时,这就发生了

enter image description here

嗯,我不想这样,我想文本和图像会像第一个一样占据屏幕的一半......

我怎么做!!!

2 个答案:

答案 0 :(得分:0)

不要使用框架布局。

如果您想要根据视图大小设置尺寸(但不要快速设置权重,因为它很快变得非常低效),您应该使用Layout_weight,或者根据您的尺寸设置代码中的尺寸图。

您对所有视图尺寸进行了硬编码,因此它们与屏幕尺寸的变化相互影响很小

答案 1 :(得分:0)

您在layout_widthlayout_height也使用了修正FrameLayoutImageView尺寸。这样你就达不到预期的目标。您应该使用wrap_content值而不是修正大小,并使用layout_weight。例如,在LinearLayout放置两个包含图片和文字的FrameLayout,之后将layout_weight="1"添加到FrameLayout属性。