将OnClick监听器添加到android中的视图

时间:2017-05-10 05:50:30

标签: android xml user-interface

我正在开发一个Android应用程序,我希望在其中实现此目的:

enter image description here android布局xml代码如下:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/track_image"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_marginTop="40dp"
        android:layout_marginStart="30dp"/>

    <TextView
        android:id="@+id/track_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:textSize="20dp"
        android:textAppearance="@style/TextAppearance.AppCompat.Body2"
        android:layout_marginTop="42dp"
        android:layout_alignTop="@+id/track_image"
        android:layout_toEndOf="@+id/track_image" />

    <android.support.v7.widget.Toolbar
        android:background="#333333"
        android:theme="@style/Base.ThemeOverlay.AppCompat.Dark.ActionBar"
        android:layout_width="match_parent"
        android:layout_height="110dp"
        android:layout_alignParentBottom="true">

        <ImageView
            android:id="@+id/selected_track_image"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:background="@drawable/play"/>

        <TextView
            android:id="@+id/selected_track_title"
            android:paddingLeft="8dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <ImageView
            android:id="@+id/player_control"
            android:layout_gravity="right"
            android:layout_width="60dp"
            android:layout_height="60dp"/>

    </android.support.v7.widget.Toolbar>

</RelativeLayout>

我希望每当用户点击图像和文本所示的整个视图中的任何区域时,音频就会播放。但在我的xml代码中,我只能添加图像onClick监听器。各种帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

1。将ID分配给父视图,即RelativeLayout

<RelativeLayout 
    android:id="@+id/relativeLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

2. 将点击监听器添加到相对布局

View view = findViewById(R.id.relativeLayout);
view.setOnClickListener(new View.OnClickListener() {

     public void onClick(View v) {

        //handle click here
     }
});

答案 1 :(得分:1)

最简单的方法是在布局中添加onClick,将所有内容组合在一起应该是可点击的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:onClick="clickMe"
    android:layout_height="match_parent">