zoukankan      html  css  js  c++  java
  • Android – Using TouchDelegate

          TouchDelegates in Android allow to increase the touch area of a View, e.g. Button. This is very useful if you want to make it easier for the user to touch your button.

          Here is a small example for the usage of a touch delegate. The layout has the ID root and contains a button with the ID delegated_button.

          

    kage de.vogella.android.touchdelegate;
     
    import android.app.Activity;
    import android.graphics.Rect;
    import android.os.Bundle;
    import android.view.TouchDelegate;
    import android.view.View;
    import android.widget.Button;
     
    public class MainActivity extends Activity {
        private Button mButton;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            mButton = (Button) findViewById(R.id.delegated_button);
            View parent = findViewById(R.id.root);
            parent.post(new Runnable() {
                public void run() {
                    // Post in the parent's message queue to make sure the parent
                    // lays out its children before we call getHitRect()
                    Rect delegateArea = new Rect();
                    Button delegate = mButton;
                    delegate.getHitRect(delegateArea);
                    delegateArea.top -= 600;
                    delegateArea.bottom += 600;
                    delegateArea.left -= 600;
                    delegateArea.right += 600;
                    TouchDelegate expandedArea = new TouchDelegate(delegateArea,
                            delegate);
                    // give the delegate to an ancestor of the view we're
                    // delegating the
                    // area to
                    if (View.class.isInstance(delegate.getParent())) {
                        ((View) delegate.getParent())
                                .setTouchDelegate(expandedArea);
                    }
                };
            });
        }
  • 相关阅读:
    服务器端和客户端有什么区别
    在 CSS 中,width 和 height 指的是内容区域的宽度和高度
    弹出框
    cdn 查询库
    超链接 a的小手
    jsonk可以传递boolean
    list,set中可以存放Object类型对象
    $("p").click();触发每一个匹配元素的click事件
    jquery选择器中的逗号
    <input type="text" onfocus="func();" onblur="func1();"/>
  • 原文地址:https://www.cnblogs.com/frydsh/p/2752638.html
Copyright © 2011-2022 走看看