Я создаю приложение, в котором я хочу установить разные фоновые изображения в основном xml linearlayout. Я сохранил 5 файлов изображений на SD-карте. Теперь я хочу выбрать изображение и установить его в качестве основного фона xml linearlayout. поэтому он заменит предыдущее изображение и отображать новое изображение в качестве фона.
Я хочу установить изображение, сохраненное на SD-карте, в качестве фона основного макета через мое приложение.
Ответы (1)
Сначала назначьте идентификатор основному линейному макету xml, например, в следующем случае он называется «контейнер».
<!-- main.xml -->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/container">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
Затем в коде .java вы можете найти объект макета и установить его в качестве фона:
package org.example.app;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String pathName = "/sdcard/gif001.gif";
Resources res = getResources();
Bitmap bitmap = BitmapFactory.decodeFile(pathName);
BitmapDrawable bd = new BitmapDrawable(res, bitmap);
View view = findViewById(R.id.container);
view.setBackgroundDrawable(bd);
}
}
С уважением
Зитенг Чен
person
Ziteng Chen
schedule
07.06.2011
Спасибо за код, он работает отлично. Но если я пытаюсь использовать код на заставке, он не появляется. Можете ли вы предложить мне, какие изменения необходимы. Я хочу загрузить изображение с SD-карты на заставку при запуске моего приложения.
- person Sourav; 10.06.2011
Код мне помог.. Я смог установить фоновое изображение макета и даже изображение заставки из изображений на внешнем хранилище
- person Mahendra Liya; 25.07.2012
Большое спасибо +1 от меня :)
- person Farhan Shah; 21.02.2014