美文网首页优秀案例
android 触摸委托扩展view的触摸面积

android 触摸委托扩展view的触摸面积

作者: 夏广成 | 来源:发表于2017-04-17 19:10 被阅读63次

    "Little things make big things happen." – John Wooden

    TouchDelegate 触摸委派,android提供了这么一个精巧的类,实在让人喜爱。当我们需要放大或缩小一个view的触摸区域时,可以用到它。

    注意:
    1:不能放大到这个view的父控件之外去。不然父控件之外的区域就无效了。
    2:一个父控件只能设置一个触摸委派到子view上,设置多个的话,最后一个设置生效。

    代码和布局如下,很简单,就不需要多讲解了。

    public class Main3Activity extends Activity {
        private LinearLayout ll;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main3);
            ll= (LinearLayout) findViewById(R.id.ll);
            ll.post(new Runnable() {
                @Override
                public void run() {
                    Button button = (Button) findViewById(R.id.button);
                    Rect rect=new Rect();
    //获取button的触摸区域,传入一个空的矩形对象,该方法会对空的矩形对象进行赋值
                    button.getHitRect(rect);
                    rect.right+=200;
                    rect.bottom+=200;
    // 创建TouchDelegate 对象,触摸矩形区域,和view
                    TouchDelegate touchDelegate=new TouchDelegate(rect,button);
    // 通过父布局设置view的触摸委托
                    ll.setTouchDelegate(touchDelegate);
                    button.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Log.e("--->","test");
                        }
                    });
    
                }
            });
        }
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:id="@+id/ll"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
    
        <Button
            android:text="button"
            android:id="@+id/button"
            android:layout_gravity="center"
            android:layout_width="40dp"
            android:layout_height="40dp" />
    </LinearLayout>
    

    相关文章

      网友评论

        本文标题:android 触摸委托扩展view的触摸面积

        本文链接:https://www.haomeiwen.com/subject/wcntzttx.html