我有一个已经从xml设置的默认图像的imageview,我想用实际的方式更改它的图像,以便新图像缩放到之前的图像大小,两个图像都是圆角的。
我尝试在设置新图像之前将scaleType属性设置为不同的值,但它不起作用。
这是xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/up_right_circle_firstiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:scaleType="fitXY"
android:src="@drawable/circle_medium_up" />
这是活动代码:
public class MainActivity extends Activity {
ImageView middleCircle;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
middleCircle = (ImageView) findViewById(R.id.up_right_circle_firstiv);
middleCircle.setImageResource(R.drawable.round_pic_one);
}
}
活动内部。
我上传了截图:
答案 0 :(得分:0)
我找到的解决方案是将layout_width和layout_height设置为默认大小。
首先我拍摄了原始图像文件的大小,然后将其转换为dp。
http://labs.skinkers.com/content/android_dp_px_calculator/
每种分辨率都有不同的图像尺寸。
然后我的xml看起来像这样:
<ImageView
android:id="@+id/up_right_circle_firstiv"
android:layout_width="33dp"
android:layout_height="33dp"
android:src="@drawable/circle_medium_up" />
我只更改了每个布局的dp值。
我知道这不是最好的解决方案,但它对我有用。