让LinearLayout的高度= 100dp。需要动态添加5个ImageView,它们需要保持在1行并具有相同的高度。
当我在显示尺寸=>上执行此操作时4.5' - 一切都很好。但是当我使用4英尺或480分辨率的AVD时,最后一项更小。
请帮我找到解决方案并抱歉我的英文!
这里添加imageview的最简单的代码:
ImageView image = new ImageView(getApplicationContext());
image.setImageResource(imageArray[position]);
image.setTag(imageNames[position]);
linearLayout.addView(image);
这是容器
<LinearLayout
android:id="@+id/ll"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:gravity="center_horizontal"/>
答案 0 :(得分:1)
您必须在每个ImageView中的 android:weightSum
和 LinearLayout
中使用 android:weight
属性。
<?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="100dp"
android:orientation="horizontal"
android:weightSum="1">
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2" />
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2" />
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2" />
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2" />
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.2" />
</LinearLayout>
注意:此类型的代码可能会缩小小屏幕尺寸的图像。因此,您可以将 LinearLayout
与 HorizontalScroolView
一起使用
答案 1 :(得分:1)
未设置图像视图宽度和高度。因此,将取决于屏幕和图像分辨率。
<强>代码:强>
ImageView image = new ImageView(getApplicationContext());
image.setImageResource(imageArray[position]);
image.setTag(imageNames[position]);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(layoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT, 1.0f);
image.setLayoutParams(layoutParams);
linearLayout.addView(image);