AIWROK软件自定义Activity页面背景图片
- //初始化一个activity页面
- var ac = new activity();
- ac.loadXML(`
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:id="bg"
- android:padding="8dp">
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="button1"
- android:text="开始" />
- </LinearLayout>
- `)
- var view = ac.findViewById("bg")
- var file = new java.io.File("/sdcard/Pictures/3.png");
- var bitmap = android.graphics.BitmapFactory.decodeFile(file)
- var bitmapDrawable = new android.graphics.drawable.BitmapDrawable(bitmap);
- ac.runOnUiThread(function fun() {
- view.setBackground(bitmapDrawable);
- })
复制代码- var ac = new activity();:这行代码创建了一个新的Activity对象。Activity是Android应用的基本构建块之一,通常代表一个单一的屏幕。
- ac.loadXML(...):这里通过加载一段XML布局代码来初始化Activity的布局。XML布局代码描述了用户界面的结构和外观。在这个例子中,使用了一个垂直方向的LinearLayout作为根布局,其中包含一个Button。
- var view = ac.findViewById("bg"):这行代码通过ID找到布局中的LinearLayout组件,并将其赋值给view变量。这里的"bg"对应XML布局中的android:id="bg"属性。
- var file = new java.io.File("/sdcard/Pictures/3.png");:创建一个File对象,指向路径为/sdcard/Pictures/3.png的图片文件。这行代码假设图片文件位于SD卡的Pictures文件夹下。
- var bitmap = android.graphics.BitmapFactory.decodeFile(file):使用BitmapFactory的decodeFile方法从file对象指向的文件中解码图片,生成一个Bitmap对象。
- var bitmapDrawable = new android.graphics.drawable.BitmapDrawable(bitmap);:将解码得到的Bitmap对象封装成BitmapDrawable对象,这个对象可以作为背景图片使用。
- ac.runOnUiThread(function fun() { ... }):由于Android应用的UI更新必须在UI线程上执行,所以这里使用runOnUiThread方法来确保将接下来的操作放在UI线程上执行。在这个回调函数中,view.setBackground(bitmapDrawable);将之前创建的BitmapDrawable对象设置为LinearLayout的背景。
总结来说,这段代码的主要功能是创建一个新的Activity页面,并将SD卡中的一张图片设置为该页面背景。
|