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);
                    }
                };
            });
        }
  • 相关阅读:
    c#去除List中的重复项
    c#比较两个List相等
    C#笔记
    解决Xcode真机测试时ineligible devices的问题
    unity3d UGUI多语言
    解决ugui中Image使用iTween的ColorTo、ColorFrom等不生效
    Unity3d uGUI适配
    184. 最大数
    187. 加油站
    46. 主元素
  • 原文地址:https://www.cnblogs.com/frydsh/p/2752638.html
Copyright © 2011-2022 走看看