Fusionapp小文档.jpg
最近又重构了下博客的套壳app,还是用的FusionApp制作的,为了避免忘记特此写一些基础文档。

基础控件ID

//各控件ID
searchEdtTxt       搜索栏
toolbar.parent        顶栏
toolbar             标题栏
bmBarLin            底栏
titleTvw            顶栏标题
webView           浏览器
fltBtn              悬浮按钮
 pager             滑动窗体
popmenu_position     菜单栏
sidebar             侧滑栏显示图标
pgsBar             进度条
sideLvw           侧滑图标
menu_button       菜单图标
menuBtn          侧滑栏图标

各控件颜色设置

sidebar.setBackgroundColor(0xffc6c6c6)//侧栏菜单背景颜色
toolbar.setBackgroundColor(0xFF232931)//标题栏背景颜色
toolbar.parent.setBackgroundColor(0xFF232931)//顶栏背景颜色
fltBtn.setCardBackgroundColor(0xFF1A0B0B)//悬浮按钮背景颜色
searchEdtTxt.parent.setBackgroundColor(0xFF232931)
webView.setBackgroundColor(0xFF232931)//浏览器背景颜色
bmBarLin.setBackgroundColor(0xFF232931)//底栏背景颜色
searchEdtTxt.setTextColor(0xFFFAFAFA)//搜索栏文字颜色
searchEdtTxt.parent.setBackgroundColor(0xff232931)//搜索栏背景颜色
--修改switch颜色
控件id.ThumbDrawable.setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP));
控件id.TrackDrawable.setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP))

拦截网址打开子页面

//网页即将加载
if(网页链接:find"url/.")then
  停止加载()
  进入子页面("游览",{链接=网页链接})
end

加载本地网页

加载网页("file:///android_asset/drawable/index.html")

设置顶栏标题

设置顶栏标题("标题")
设置顶栏标题(webView.title)//设置标题为当前网页标题

悬浮按钮显示与隐藏

--显示悬浮按钮
fltBtn.setVisibility(View.VISIBLE)
--隐藏悬浮按钮
fltBtn.setVisibility(View.GONE)
注:fltBtn为悬浮按钮的ID,不需要更改。

设置屏幕方向

import "android.content.pm.ActivityInfo"
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
//视频解析播放
加载网页("vip解析url"..webView.getUrl());
--横屏
activity.setRequestedOrientation(0); 
--竖屏
activity.setRequestedOrientation(1); 

悬浮选择点击事件

pop=PopupMenu(activity,fltBtn)
menu=pop.Menu
menu.add("选项一").onMenuItemClick=function(a)
进入子页面("子页面名",{链接="url1"..webView.getUrl()})
end
menu.add("选项二").onMenuItemClick=function(a)
进入子页面("子页面名",{链接="url2"..webView.getUrl()})
end
pop.show()

开启和关闭侧滑

--打开侧滑
drawerLayout.openDrawer(3)
--关闭侧滑
drawerLayout.closeDrawer(3) 

点击事件

--底栏项目点击事件
bmBarLin.getChildAt(0).onClick=function()
--点击事件,这个点击事件会取消原本加载的网址
end
--0为序号,0是第一个标签,1是第二个标签以此类推

--底栏项目点击事件
bmBarLin.getChildAt(1).onClick=function()
 pager.setCurrentItem(1)
--点击事件,这个点击事件不会取消原本加载的网址
end
--0为序号,0是第一个标签,1是第二个标签以此类推


--自定义标签栏点击事件
tabBar.getChildAt(0).onClick=function()
 --点击事件
end
--0为序号,0是第一个标签,1是第二个标签以此类推

所有标签网站下加入js

for i=1,#AllWebView do
AllWebView[i].loadJs("document.write(233)")
end

微数据库操作

--写入数据函数
function setdata(a,b)
  c = this.getSharedPreferences("qqdieset", Activity.MODE_PRIVATE)
  c.edit().putString(a, b).commit()
  end
--读取数据函数
function getdata(a)
  c = this.getSharedPreferences("qqdieset", Activity.MODE_PRIVATE)
  b = c.getString(a, "")
  return b
  end
--设置night的数据为1
setdata("night","1")
--读取night的数据
getdata("night")
判断night的数据
if getdata("night")=="1" then
事件1
  else
事件2
end

ticker定时器使用

ti=Ticker()
ti.Period=1000
ti.onTick=function() 
事件
end
--启动Ticker定时器
ti.start()//启动后每1秒执行一次事件
ti.stop()//停止定时器

跳转支付宝付款

import "android.content.Intent"
import "android.net.Uri"
xpcall(function() 
  local url="alipayqr://platformapi/startapp?saId=10000007&qrcode=HTTPS://QR.ALIPAY.COM/FKX01851PJRWS0GD4CNX98"
  activity.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)));
end,
function()
  local url = "HTTPS://QR.ALIPAY.COM/FKX01851PJRWS0GD4CNX98";
  activity.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)));
end)

弹出消息("你的捐赠就是我的动力")
弹出消息("感谢支持!")
--其中HTTPS://QR.ALIPAY.COM/FKX01851PJRWS0GD4CNX98的获取方式是通过扫支付宝收款码获取到的,最简单的方法就是用微信扫支付宝的收款码就能获取到该地址

夜间模式心得

首先通过微数据库记录状态,比如记录night的值,1为夜间模式,0为默认模式。
然后写两个函数分别设置夜间模式和默认模式的控件配色,这样就可以根据数据库的值来执行不同函数进而设置控件颜色了。

网页适配背景颜色,如果网页本身没有夜间模式,可以通过加载js来控制网页颜色的方式实现夜间模式,如果网页本身有夜间模式,可以通过js来触发夜间模式进而达到网页和app同时进入夜间模式。

还有个问题就是不同标签加载的网页会进行缓存,根据上述方式只能让当前标签的网址进入夜间模式,其他标签的网址页面还是没进入夜间模式,暂时我是用定时器每隔500毫秒判断一次来解决这个问题的...应该有更好的办法,以后抽空再看看。

--几天后

文章上边增加了【所有标签网站下加入js】的方法,用了他就可以不用定时器方案了!

版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/fusionapp-docs.html
本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!