私はTextView
画像を設定しているという点でdrawableLeft
<TextView
android:id="@+id/imgChooseImage"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:background="@drawable/slim_spinner_normal"
android:drawableLeft="@drawable/ic_launcher"/>
そして、新しい画像を動的に置き換えるためにJavaコードで何を書く必要があるのかを知りたいのです。そうすれば、画像はTextView
、描画可能な左の画像で見栄えの良い画像を超えないようになります。
何を使用する必要がありscalefactor
ますか?
int scaleFactor = Math.min();
以下はJavaコードです
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
// If set to true, the decoder will return null (no bitmap), but
// the out... fields will still be set, allowing the caller to
// query the bitmap without having to allocate the memory for
// its pixels.
bmOptions.inJustDecodeBounds = true;
int photoW = hListView.getWidth();
int photoH = hListView.getHeight();
// Determine how much to scale down the image
int scaleFactor = Math.min(photoW / 100, photoH / 100);
// Decode the image file into a Bitmap sized to fill the View
bmOptions.inJustDecodeBounds = false;
bmOptions.inSampleSize = scaleFactor;
bmOptions.inPurgeable = true;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), Const.template[arg2],bmOptions);
Drawable draw = new BitmapDrawable(getResources(), bitmap);
/* place image to textview */
TextView txtView = (TextView) findViewById(R.id.imgChooseImage);
txtView.setCompoundDrawablesWithIntrinsicBounds(draw, null,null, null);
position = arg2;