如何在android中使整个控件可点击?

时间:2010-12-06 03:01:36

标签: android

我在android中有一个自定义控件,它有一个文本视图,一些图像等。

我想让整个控件可以点击。

我用:

宣布了布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:clickable="true" android:layout_width="fill_parent" android:layout_height="50px" android:layout_gravity="center_vertical">

即使它将android:clickable属性设置为true,也不会触发click事件。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

在您的主要活动代码中,执行类似这样的操作

public class TestActivity extends Activity implements
    OnTouchListener, OnLongClickListener, OnKeyListener,
    OnClickListener, OnFocusChangeListener{

CustomUI = (CustomView) findViewById(R.id.custom_ui);

    CustomUI.addListener(this);
    CustomUI.setOnClickListener(this); 
    CustomUI.setOnFocusChangeListener(this);
    CustomUI.setOnLongClickListener(this);
    CustomUI.setOnTouchListener(this);
    CustomUI.setOnKeyListener(this);  

}

此外,你不能把属性放在你的相对布局中,你必须包括你的自定义这个布局...像

<RelativeLayout

  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  >

 <com.company.some.CustomView

        android:id="@+id/custom_ui"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        />

  </RelativeLayout>