2011-12-22 3 views
0

固定サイズの画像ビューを設定するには少し助けが必要です。ここに私の状況があります。アプリケーションのすべてのイメージビューのサイズを、デバイスの画面の幅と高さに応じてリサイズする必要があります。例えば、私はlistviewの画像をデバイスの表示幅からwidth = 25%にしたいとします。今のところ、私はこのようなことを行うことができます。Androidセットの画像背景とソースの表示

Bitmap bmp=BitmapFactory.decodeResource(acontext.getResources(), R.drawable.transparent_bg); 
int width=(int) RPCCommunicator.getPlaceHolderWidth(acontext, 25); 
int height=(int) RPCCommunicator.getPlaceHolderHeight(acontext, 20); 
Bitmap resizedbitmap=Bitmap.createScaledBitmap(bmp, width, height, true); 
mainImg.setImageBitmap(resizedbitmap); 

を私はちょうど私が欲しいサイズで私のListView項目にデフォルトの画像のような透明の画像を設定しています。このサンプルコードでは。しかし、私がしたいことは、イメージビューのサイズを設定することです。サーバーから受け取ったイメージがデフォルトサイズよりも小さく、フィットしない場合は、この "プレースホルダ"の中心に留まります。それが大きければ、私はそれをイメージビューに合わせなければならないでしょう。

基本的には私の質問です:どのようにImageViewの幅と高さをプログラムに合わせて自分のコンテンツに合わせることができますか?私が欲しいものを手に入れたいと思っています。

ありがとうございます!

答えて

0

EDIT:

final float scale = getContext().getResources().getDisplayMetrics().density; 
int pixels = (int) (width_in_dp * scale + 0.5f); 

ご希望のサイズでwidth_in_dp交換してください。ビューまたはビットマップのサイズを設定することができ、このscreenWidthでhttp://developer.android.com/guide/practices/screens_support.html

DisplayMetrics dm = new DisplayMetrics();  
    getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);     
    int screenWidth = dm.widthPixels; 

: また、あなたはここで見ることができます。

+0

私の質問は、イメージビューのデフォルトサイズをどのように設定し、そのサイズがそのサイズよりも大きくても小さくても常にこのサイズにとどまることです。 –

+0

[OK]をクリックすると、デバイスの表示幅の25%に言及した理由がわかりません。あなたはdpでサイズを設定することができます、私は私の答えを編集します。 – Dante

関連する問題