Android: настройка фонового изображения для RelativeLayout?
Я загрузил изображение во время выполнения. Теперь я хочу установить его в качестве фона для RelativeLayout
. Возможно ли это?
Ответы
Ответ 1
Посмотрите setBackgroundDrawable, или, возможно, createFromPath в классе Drawable.
RelativeLayout rLayout = (RelativeLayout) findViewById (R.id.rLayout);
Resources res = getResources(); //resource handle
Drawable drawable = res.getDrawable(R.drawable.newImage); //new Image that was added to the res folder
rLayout.setBackground(drawable);
Ответ 2
Вместо этого используйте:
View lay = (View) findViewById(R.id.rLayout);
lay.setBackgroundResource(R.drawable.newImage);
Это работает, потому что R.drawable.newImage
относится к целому числу. Таким образом, вы можете сделать:
int pic = R.drawable.newImage;
lay.setBackgroundResource(pic);
Ответ 3
Попробуйте это для Xamarin.Android(Cross Platform) -
RelativeLayout relativeLayout = new RelativeLayout (this);
ИЛИ
RelativeLayout relativeLayout = (RelativeLayout)FindViewById (Resource.Id.relativeLayout);
и
relativeLayout.SetBackgroundDrawable (Resources.GetDrawable (Resource.Drawable.imageName));
Ответ 4
В функции onCreate:
RelativeLayout baseLayout = (RelativeLayout) this.findViewById(R.id.the_layout_id);
Drawable drawable = loadImageFromAsset();
if(drawable != null){
baseLayout.setBackground(drawable);
Log.d("TheActivity", "Setting the background");
}
Метод загрузки изображений:
public Drawable loadImageFromAsset() {
Drawable drawable;
// load image
try {
// get input stream
InputStream ims = getAssets().open("images/test.9.png");
//Note: Images can be in hierarical
// load image as Drawable
drawable = Drawable.createFromStream(ims, null);
}
catch(IOException ex) {
Log.d("LoadingImage", "Error reading the image");
return null;
}
return drawable;
}
Открытый метод:
> public final InputStream open (String fileName, int accessMode)
>
> Added in API level 1 Open an asset using an explicit access mode,
> returning an InputStream to read its contents. This provides access to
> files that have been bundled with an application as assets -- that is,
> files placed in to the "assets" directory.
>
> fileName --- The name of the asset to open. This name can be hierarchical.
>
> accessMode --- Desired access mode for retrieving the data.
>
> Throws IOException