[英]Set ImageView Drawable to PaintDrawable - Android
[英]Set ImageView to a drawable (Android)
請原諒我是新手,我的女性學可能不正確:
我在class1中有一個圖像數組,當選擇一個圖像時,它的id被傳遞給class2(下面的代碼)然后我顯示該圖像並給出將其設置為壁紙的選項。 問題是,使用下面的代碼我需要一個drawable來分配壁紙,而不是ImageView。 有人可以給我一些參考實際drawable的指導,我有“myWallpaperManager.setResource(需要一個drawable here);”
提前致謝。 希望這是有道理的,因為我說我是一個菜鳥!
public class FullWallView extends Activity {
private Button wallbutton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wallpaper_full);
// get intent data
Intent i = getIntent();
// Selected image id
int position = i.getExtras().getInt("id");
ImageAdapter imageAdapter = new ImageAdapter(this);
ImageView imageView = (ImageView) findViewById(R.id.full_wall_view);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
//Making Button Clickable and setting the wallpaper
wallbutton = (Button) findViewById(R.id.apply);
wallbutton.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
WallpaperManager myWallpaperManager
= WallpaperManager.getInstance(getApplicationContext());
try {
myWallpaperManager.setResource(need a drawable here);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}});
首先定義Drawable,然后在ImageView中設置它。
img=(ImageView)findViewById(R.id.imageview1);
Drawable myDrawable = getResources().getDrawable(R.drawable.imageView1);
img.setImageDrawable(myDrawable);
在API級別22中不推薦使用getResources()。getDrawable(int id)方法。
您可以檢查版本然后使用以下方法:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
imageView.setImageDrawable(getApplicationContext().getDrawable(R.drawable.myDrawable));
} else {
imageView.setImageDrawable(getResources().getDrawable(R.drawable.myDrawable));
}
。
我剛剛注意到你需要傳遞resourceID而不是Drawable,沒有直接從ImageView獲取resourceID的方法,你為什么不試着記住這個值然后傳遞它。
希望這有助於並享受您的工作
如果您想通過僅提供圖像名稱來動態執行此操作:
public static Drawable getImage(Context context, String name) {
return context.getResources().getDrawable(context.getResources().getIdentifier(name, "drawable", context.getPackageName()));
}
然后像這樣設置imagedrawable:
ImageView image = findViewById(R.id.logo);
image.setImageDrawable(getImage(context, "imageName"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.