2

我有两个相邻的图像。

当然,我使用“dp”作为大小,在某些屏幕中图像变得很小,而在某些屏幕中则不是。这就是 dp 所做的。

我不知道我必须设置它们的大小。50dp、75dp 或 100dp……而且我也不知道如何决定。

我只想将图像的大小设置为“屏幕大小/2”(因为我有两个图像)并且还希望它们缩放它们的大小。我不能给出高度。在任何分辨率下,它们都必须将其宽度设置为“屏幕宽度 / 2”,并将高度设置为与其宽度成比例。

这是我想要的图形:

实例

我应该怎么办?

任何建议将不胜感激。

4

2 回答 2

1

如果要将图像宽度设置为screen size / 2,请确保使用px而不是dp,否则由于设备的分辨率,其结果在各种设备上会有所不同。您可以通过以下代码获取以像素为单位的宽度。

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        displayWidth = dm.widthPixels;

之后,您可以使用此设置图像宽度。

       image_view.getLayoutParams().width = displayWidth /2; 

希望这能解决您的问题。

实现此目的的另一种方法是像这样在 .xml 文件中进行更改

<?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="match_parent"
    android:weightSum="2"
    android:orientation="horizontal" >


    <ImageView
        android:layout_width="0dp"
        android:layout_weight="1"
        ......
        ........./>

    <ImageView
        android:layout_width="0dp"
        android:layout_weight="1"
        ......
        ........./>

    </LinearLayout>
于 2013-05-19T02:51:56.727 回答
0

中使用android:layout_weight属性linearLayoutLinearLayout如果你设置两个相同的图像视图,android:layout_weight那么它将占用相同的空间。例如

< LinearLayout
........
.......
android:orientation="horizontal">

    <ImageView
        android:layout_width="0dip"
        android:layout_weight="1"
        ......
        ........./>

    <ImageView
        android:layout_width="0dip"
         android:layout_weight="1"
        ......
        ........./>

</LinearLayout>
于 2013-05-19T02:33:00.670 回答