2016-06-21 4 views
0

私はthis linkを使ってImageViewを形作っていますが、それは私がdrawableから取り出した形だけを受け入れ、プログラム的に変更することはできません。PorterShapeImageViewの画像をプログラム的に変更しますか?

これはコード

<com.pmb.pipcamera.activities.PorterShapeImageView 
      android:id="@+id/iv_effect_main" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_gravity="center" 
      android:scaleType="fitXY" 
      app:siShape="@drawable/pip1_overlay" 
      app:siSquare="false" /> 

答えて

0

まあ、PorterShapeImageViewは標準android.widget.ImageViewの子孫であるので、あなたはImageViewのいずれかの方法を使用してイメージを変えることができるはずです。

mPorterShapeImageView.setImageBitmap(mBitmap); 

mPorterShapeImageView.setImageDrawable(mDrawable); 

mPorterShapeImageView.setImageIcon(mIcon); 

mPorterShapeImageView.setImageResource(R.drawable.new_image); 

mPorterShapeImageView.setImageURI(mUri); 
+0

私はこれを試しましたが運はありません Drawable d1 = new BitmapDrawable(getResources()、bitmap_main); iv_effect_main.setImageDrawable(d1); – user6428778

+0

@ user6428778ああ、それは変です。私はこのライブラリを使用したことはありませんが、これを行うことを妨げる 'ImageView'のものを上書きするようなことはありません。他の方法を試しましたか? – Bryan

+0

@ user6428778ライブラリで提供されている例では、スクエアの[Picasso'](http://square.github.io/picasso/)ライブラリを使用してプログラムでプログラムを設定します。 'Picasso'はこれを行うために' ImageView.setImageDrawable() 'メソッドを使います。したがって、これらのメソッドは*動作するはずです。 – Bryan

関連する問題