AIWROK软件自定义Activity页面背景图片

104

主题

190

回帖

993

积分

管理员

积分
993
AIWROK软件自定义Activity页面背景图片

  1. //初始化一个activity页面
  2. var ac = new activity();
  3. ac.loadXML(`
  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. android:id="bg"
  9. android:padding="8dp">
  10. <Button
  11. android:layout_width="match_parent"
  12. android:layout_height="wrap_content"
  13. android:id="button1"
  14. android:text="开始" />
  15. </LinearLayout>
  16. `)
  17. var view = ac.findViewById("bg")
  18. var file = new java.io.File("/sdcard/Pictures/3.png");
  19. var bitmap = android.graphics.BitmapFactory.decodeFile(file)
  20. var bitmapDrawable = new android.graphics.drawable.BitmapDrawable(bitmap);
  21. ac.runOnUiThread(function fun() {
  22. view.setBackground(bitmapDrawable);
  23. })
复制代码
  • 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卡中的一张图片设置为该页面背景。


举报 回复