【问题标题】:Doing Inverse of View.bringToFront() in Android在 Android 中执行 View.bringToFront() 的逆操作
【发布时间】:2013-12-06 15:56:10
【问题描述】:

我的Activity 中有很多View,我想在Background 中将View 命名为imageView1,最后一个,正是 imageView1.bringToFront();的倒数

有什么方法可以调用这个理由吗?

谢谢。

【问题讨论】:

  • 考虑this问题中的答案,也许它们会对你有所帮助
  • @DenisVasilenko,非常感谢,很有帮助。

标签: android


【解决方案1】:

为此我使用了一个非常有趣的静态函数,因为之前搜索过,没有找到任何方法

public static void bringToBack(final View v) {
    final ViewGroup parent = (ViewGroup)v.getParent();
    if (null != parent) {
        parent.removeView(v);
        parent.addView(v, 0);
    }
}

【讨论】:

    【解决方案2】:
    view.setOnTouchListener(new View.OnTouchListener){
        @Override
        public boolean onTouch (View v, MotionEvent event){
        if (event.getAction() == MotionEvent.ACTION_MOVE) {
            view.bringToFront()
        } else if (event.getAction() == MotionEvent.ACTION_UP) {
            ViewGroup viewGroup = (ViewGroup) view.getParent();
            sendToBack(viewGroup, view);
        }
    }
    });
    
    
    private static void sendToBack(ViewGroup viewGroup, View view) {
        if (viewGroup != null) {
            viewGroup.removeView(child);
            viewGroup.addView(child, 0);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多