0

我有一个已经从 xml 设置的默认图像的图像视图,我想务实地更改它的图像,以便新图像将缩放到以前的图像大小,两个图像都是四舍五入的。

在设置新图像之前,我尝试将 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);
}

}

活动内。

我已经上传了截图:

http://imgur.com/OM79T

http://imgur.com/G7y3Q

4

1 回答 1

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 值。

我知道这不是最好的解决方案,但它对我有用。

于 2012-10-21T10:57:49.017 回答