我有两个彼此相邻的图像。
当然我使用“dp”作为大小,在某些屏幕中图像变得很小,而在某些屏幕中却没有。这就是dp的作用。
我不知道我必须设置他们的尺码。 50dp,75dp或100dp ......而且我也不知道如何决定。
我只想将图片的大小设置为“屏幕尺寸/ 2”(因为我有两张图片)并且还希望它们缩放尺寸。我不能给高度。在任何分辨率下,他们必须将其宽度设置为“屏幕宽度/ 2”和高度与其宽度成比例。
这是我想要的图形:
我该怎么办?
任何建议都将不胜感激。
答案 0 :(得分: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>
答案 1 :(得分:0)
在android:layout_weight
中使用linearLayout
属性。在LinearLayout
中,如果您使用相同的android:layout_weight
设置两个imageview,则它将占用相同的空间。例如
< LinearLayout
........
.......
android:orientation="horizontal">
<ImageView
android:layout_width="0dip"
android:layout_weight="1"
......
........./>
<ImageView
android:layout_width="0dip"
android:layout_weight="1"
......
........./>
</LinearLayout>