1

の一部であるImageViewの子としてがあります。のドローアブルは表示されませんが、背景色が表示され、代わりにドローアブルを使用すると表示されます。すべてのプロパティを変更して呼び出してみましたが、ドローアブルが表示されることはありませんでした。ViewGroupGridViewImageViewsetBackgroundDrawableinvalidate()

Log.i版画_

 android.graphics.drawable.BitmapDrawable@407bd4c0

setImageResource(int)どちらも機能しません。

ハニカムを使用しています。

public MyViewGroup(Context context) {
    super(context);

    myImageView = new ImageView(context);
    myImageView.setBackgroundColor(Color.RED);
    myImageView.setScaleType(ImageView.ScaleType.CENTER);
    Drawable drawable = this.getResources().getDrawable(R.drawable.myimage);
    myImageView.setImageDrawable(drawable);
    Log.i("",drawable+"");
    //myImageView.setImageResource(R.drawable.myimage);
    addView(myImageView);
}

setLeft() setTop() setRight()andを呼び出す onLayout コードを省略しましたsetBottom()

どんな助けでも大歓迎です。ありがとう。

更新: android.R.drawable 画像でも機能しません。私は困惑しています。

4

3 に答える 3

1

おそらく問題は、レイアウト パラメータを設定していないことです。試す:

LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, WRAP_CONTENT);
myImageView .setLayoutParams(params);
于 2011-08-11T22:09:38.050 に答える
0

親レイアウトの幅/高さが fill_parent の場合、それを wrap_content に変更するとうまくいく可能性があります。

レイアウトで描画可能な ImageView を使用して Honeycomb でこの問題が発生していました。画像が表示されていたダイアログの幅から判断すると、画像はそこにありましたが、画像自体は表示されませんでした。ImageView の親は、fill_parent を持つ LinearLayout でした。wrap_content に切り替えると、すぐに修正されました。

于 2011-09-14T22:58:03.087 に答える
0

画像をビットマップとして取得するように設定してから、描画可能として設定してみてください。

Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.myimage)
Drawable drawable = new BitmapDrawable(bmp);"
 myImageView.setImageDrawable(drawable);

好奇心から:なぜコンストラクターでこれをすべて行うのですか?

于 2011-08-11T22:04:05.073 に答える