小编You*_*che的帖子

强制布局刷新/重绘android?

我想改变布局的位置,75ms后将其返回到第一个位置进行移动,这是我的代码:

for(int i = 0; i < l1.getChildCount(); i++) {  
    linear = (LinearLayout) findViewById(l1.getChildAt(i).getId());  
    LayoutParams params = new LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);  
    params.bottomMargin = 10;  
    linear.setLayoutParams(params);  
    SystemClock.sleep(75);
}   
Run Code Online (Sandbox Code Playgroud)

问题是应用程序停止750毫秒,并没有做任何事情.我试过 invalidate(),refreshDrawableState(),requestLayout(), postInvalidate(),并尝试调用onResume(),onRestart(),onPause().

layout android refresh

6
推荐指数
1
解决办法
2万
查看次数

排版完成时的事件 MathJax 3

我正在使用 MathJax 3 来渲染数学方程。问题是我需要向数学方程中的一些符号添加一个点击事件,所以我使用\cssId.


        loader: {
          load: ['[tex]/color','[tex]/cancel'],

        },

        tex: {
          packages: {'[+]': ['cancel']},
          inlineMath: [['$', '$'], ['\\(', '\\)']],
        },
    };
    </script>
    <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
     <p id="demo">  ${x^2+4\cssId{someid}{x}+\sum_{s}}$ </p>
    <script>$("#someid").click(function () {
      some code ....
    })
  </script>
Run Code Online (Sandbox Code Playgroud)

点击事件不起作用,因为 id="" 尚未创建。我尝试在 MathJax 排版后使用 promise 像这样。

<script>
$(document).ready(function () {
  MathJax.startup.promise.then(function () {
      $("#someid").click(function () {
  some code ....
})
  })
})
Run Code Online (Sandbox Code Playgroud)

未捕获的类型错误:无法读取未定义的属性“承诺”

我也试过 MathJax.typesetPromise()。它也不起作用。提前致谢。

javascript mathjax

1
推荐指数
1
解决办法
947
查看次数

标签 统计

android ×1

javascript ×1

layout ×1

mathjax ×1

refresh ×1