所以我有一堆图像(ImageViews),我试图根据用户的设备进行适当缩放。
我使用weightSum成功地将它们水平缩放(4张图像根据用户的屏幕均等缩放)。
我现在正试图垂直缩放每一列,以便在此示例中它占据屏幕的50%,但我没有运气。
<?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" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="500dp"
android:scrollbars="none"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="2"
>
<!-- -->
<!-- -->
<!-- A new column -->
<!-- -->
<!-- -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="4"
>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_1"
/>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_2"
/>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_3"
/>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_4"
/>
</LinearLayout>
<!-- -->
<!-- -->
<!-- A new column -->
<!-- -->
<!-- -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="4"
>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_1"
/>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_2"
/>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_3"
/>
<ImageView
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_weight="1"
android:src="@drawable/wallpaper_1"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:layout_margin="3dp"
android:id="@+id/wallpaper_id_4"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
之前有人处理过此事吗? 谢谢
答案 0 :(得分:3)
对于ScrollView中的第一个LinearLayout,如果您使用权重,则wrap_content
的高度没有意义。请改用fill_parent
或match_parent
。也就是说,让ScrollView围绕这样的东西并没有多大意义,另外嵌套的权重往往会产生不良的性能。您可能需要考虑使用GridView。