这是我的布局代码 我像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>
这是它的看法
看起来很酷吗? 这是我的问题,当我把它带到一个更大的屏幕时,这就发生了
嗯,我不想这样,我想文本和图像会像第一个一样占据屏幕的一半......
我怎么做!!!
答案 0 :(得分:0)
不要使用框架布局。
如果您想要根据视图大小设置尺寸(但不要快速设置权重,因为它很快变得非常低效),您应该使用Layout_weight,或者根据您的尺寸设置代码中的尺寸图。
您对所有视图尺寸进行了硬编码,因此它们与屏幕尺寸的变化相互影响很小
答案 1 :(得分:0)
您在layout_width
和layout_height
也使用了修正FrameLayout
和ImageView
尺寸。这样你就达不到预期的目标。您应该使用wrap_content
值而不是修正大小,并使用layout_weight
。例如,在LinearLayout
放置两个包含图片和文字的FrameLayout
,之后将layout_weight="1"
添加到FrameLayout
属性。