我有两个相邻的图像。
当然,我使用“dp”作为大小,在某些屏幕中图像变得很小,而在某些屏幕中则不是。这就是 dp 所做的。
我不知道我必须设置它们的大小。50dp、75dp 或 100dp……而且我也不知道如何决定。
我只想将图像的大小设置为“屏幕大小/2”(因为我有两个图像)并且还希望它们缩放它们的大小。我不能给出高度。在任何分辨率下,它们都必须将其宽度设置为“屏幕宽度 / 2”,并将高度设置为与其宽度成比例。
这是我想要的图形:
我应该怎么办?
任何建议将不胜感激。
我有两个相邻的图像。
当然,我使用“dp”作为大小,在某些屏幕中图像变得很小,而在某些屏幕中则不是。这就是 dp 所做的。
我不知道我必须设置它们的大小。50dp、75dp 或 100dp……而且我也不知道如何决定。
我只想将图像的大小设置为“屏幕大小/2”(因为我有两个图像)并且还希望它们缩放它们的大小。我不能给出高度。在任何分辨率下,它们都必须将其宽度设置为“屏幕宽度 / 2”,并将高度设置为与其宽度成比例。
这是我想要的图形:
我应该怎么办?
任何建议将不胜感激。
如果要将图像宽度设置为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>
中使用android:layout_weight
属性linearLayout
。LinearLayout
如果你设置两个相同的图像视图,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>