如何使用android布局动态调整图像大小

时间:2014-03-20 20:11:24

标签: java android android-layout

我想把两个图像放在一行中,宽度相等。我有几排这样的。对于平板电脑等宽屏幕,应根据屏幕分辨率增加图像的宽度。

我想要做的就是在所有情况下将两个图像放在相同大小的行上(%50 - %50宽度,如CSS)。

是否有任何布局可以执行此操作?我已尝试使用嵌套的线性和相对布局,但无法成功。

2 个答案:

答案 0 :(得分:0)

我已经在我的项目中完成了这项工作,我现在不需要实现,但在我的项目中,我只是调整图像的大小以尊重与我的宽度相等的高度,这样图像将始终是一个完美的圆形图片...

在我的活动中,我有这段代码:

private RelativeLayout playerSpinner;

public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        int margin = (int)(45*getResources().getDisplayMetrics().density);
        LayoutParams layoutParams = new LayoutParams(playerSpinner.getWidth() - margin,playerSpinner.getWidth() - margin);
        layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
        playerSpinner.setLayoutParams(layoutParams);
}

然后我在图像属性中使用MATC_PARENT或FILL_PARENT在我的playerSpinner布局中添加了一个ImageView。

答案 1 :(得分:0)

试试这个......

<LinearLayout 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="wrap_content"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/imageView2"
       android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

</LinearLayout>

</LinearLayout>

这只是一行。无论设备如何,两个ImageView都将占据行的50%。根据您拥有的行数,您可以选择使用自定义列表视图。希望这有帮助