0

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);
}

}

活動の中。

スクリーンショットをアップロードしました:

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 に答える