我在想怎么往控制台里塞控件

简介: 我在想怎么往控制台里塞控件

群友的问题

研究了一下, 演示如下



autojs版本: 4.1.1 Alpha

importClass(android.widget.RelativeLayout);
console.show();
toastLog(app.versionName);
let mConsoleView = getConsoleWindow();
let parent = mConsoleView.parent;
var inputView = parent.findViewById(context.getResources().getIdentifier("input", "id", context.getPackageName()));
var buttonView = parent.findViewById(context.getResources().getIdentifier("submit", "id", context.getPackageName()));
var consoleView = parent.findViewById(context.getResources().getIdentifier("console", "id", context.getPackageName()));
console.setSize(1000, 1000);
ui.run(function () {
  inputView.setVisibility(8);
  buttonView.setVisibility(8);
});
let r = filterView(mConsoleView);
r[3].setText("牙叔教程 简单易学");
ui.run(function () {
  r[0].attr("bg", "#ffff00");
  let view = ui.inflate(
    <text textSize="30sp" textColor="#00ff00" bg="#ff00ff" gravity="center">
      牙叔教程 简单易懂
    </text>,
    null,
    false
  );
  let view2 = ui.inflate(
    <text textSize="30sp" textColor="#00ff00" bg="#ff00ff" gravity="center" layout_alignParentBottom="true">
      牙叔教程222 简单易懂
    </text>,
    null,
    false
  );
  ui.post(function () {
    view.attr("w", "match_parent");
    view2.attr("w", "match_parent");
  });
  r[0].addView(view);
  let rlp1 = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT,
    RelativeLayout.LayoutParams.WRAP_CONTENT
  );
  rlp1.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
  r[0].addView(view2, rlp1);
});
setInterval(function () {}, 1000);
/* -------------------------------------------------------------------------- */
function getConsoleWindow() {
  var field = runtime.console.class.getDeclaredField("mConsoleFloaty");
  field.setAccessible(true);
  mConsoleView = field.get(runtime.console).getExpandedView();
  return mConsoleView;
}
function filterView(view, arr) {
  arr = arr || [];
  if (view instanceof android.view.ViewGroup) {
    arr.push(view);
    let childCount = view.childCount;
    for (var i = 0; i < childCount; i++) {
      let chileView = view.getChildAt(i);
      filterView(chileView, arr);
    }
  } else {
    arr.push(view);
  }
  return arr;
}


参考

autojs之控制台

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, 安卓文档, autojs文档, 最后才是群里问问

--- 牙叔教程


声明

部分内容来自网络

本教程仅用于学习, 禁止用于其他用途



相关文章
Fastadmin后台页面添加顶部按钮
操作的前提是需要在fastadmin框架中添加对应的控制器、模型、视图页面,可以手动创建,也可以使用curd一键生成。
261 0
|
8月前
|
小程序
小程序页面顶部标题栏、导航栏navigationBar如何隐藏、变透明?
小程序页面顶部标题栏、导航栏navigationBar如何隐藏、变透明?
|
8月前
|
Web App开发 数据安全/隐私保护
防止打开控制台
防止打开控制台
426 0
|
JavaScript 前端开发
右下角点击页面回顶部组件
右下角点击页面回顶部组件
74 1
右下角点击页面回顶部组件
|
JavaScript
如何在bootAdmin-ui中新建顶部菜单及页面跳转
如何在bootAdmin-ui中新建顶部菜单及页面跳转
66 0
|
监控 数据可视化 C#
Winform与控制台
前言: 初学C#,了解了一些C#视频和书籍,用C#语言编写一些代码后,发现,在winform中就可以编码,为什么还要有控制台呢?在这里给大家简单介绍一下关于控制台和winform的知识。
140 0
iOS--设置系统导航栏右上角按钮不显示问题
iOS--设置系统导航栏右上角按钮不显示问题
256 0
|
iOS开发
iOS开发 - 系统导航栏左右上角按钮如何不需要定义就可以添加小红点
iOS开发 - 系统导航栏左右上角按钮如何不需要定义就可以添加小红点
177 0
控制台自定义字体颜色
自定义控制台字体样式 /** * 控制台字体打印样式 * \033[字背景颜色;字体颜色m字符串\033[0m * 字颜色:30-----------37 * 30:黑 * 31:红 * 32:绿 * 33:黄 * 34:蓝色 * 35:紫色 * 36:深绿 * 37:白色 ...
1161 0

热门文章

最新文章

下一篇
开通oss服务