【问题标题】:Adding OnClick listener to the view in android将 OnClick 侦听器添加到 android 中的视图
【发布时间】:2017-05-10 05:50:29
【问题描述】:

我正在开发一个我想在其中实现此目的的 android 应用程序:

android layout 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 侦听器。感谢您提供各种帮助。

【问题讨论】:

  • 点击父布局。
  • 你可以在root(RelativeLayout)上添加点击监听

标签: android xml user-interface


【解决方案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
     }
});

【讨论】:

    【解决方案2】:

    最简单的方法是在布局中添加 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"> 
    

    【讨论】:

      猜你喜欢
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多