安卓 屏蔽子控件点击事件
生活随笔
收集整理的這篇文章主要介紹了
安卓 屏蔽子控件点击事件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
假設(shè)有這樣的場景:linearlayout里放了若干子控件,其中有一個(gè)textview,希望將textview的事件屏蔽掉,交給linearlayout處理,可以給textview設(shè)置android:clickable="false" android:longClickable="false"
這樣textview就只保留了顯示文字的功能,長按、點(diǎn)擊textview和長按點(diǎn)擊linearlayout效果一樣。下面是小demo
activity_main.xml
root_selector.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@color/colorAccent"android:state_pressed="true"/><!-- 自然狀態(tài) --><item android:drawable="@color/colorWhite"/> </selector>MainActivity.java
package com.kw.testclickable;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView;public class MainActivity extends AppCompatActivity {private static final String TAG = "kwdebug";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LinearLayout root = findViewById(R.id.layout_root);TextView textView = findViewById(R.id.textview);root.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Log.d(TAG, "onClick: 點(diǎn)擊了根布局");}});root.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {Log.d(TAG, "onLongClick: 長按了根布局");return true; // 返回true屏蔽普通點(diǎn)擊事件}});} }總結(jié)
以上是生活随笔為你收集整理的安卓 屏蔽子控件点击事件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: /dev/tcp 的简单应用
- 下一篇: 点击EditText外部区域失去焦点的方