android 按钮对点击/点击无响应

wi3ka0sx  于 2023-01-03  发布在  Android
关注(0)|答案(2)|浏览(324)

我试图执行这个代码按钮点击动作。

val button = findViewById<ExtendedFloatingActionButton>(R.id.button)
            button.setOnClickListener {
                // perform action
            }

但是它没有任何效果,因为按钮在这个线性布局里面。我怎么才能修复这个问题呢?

<LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal">

    <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:layout_marginEnd="8dp"

        android:text="test"

        app:icon="@drawable/star"
        />

  </LinearLayout>

当我删除布局时,按钮工作正常。布局(我真的需要)导致了这个问题

lrpiutwd

lrpiutwd1#

从问题下的评论。
请考虑这个伪代码,我只是想让结构清晰

<ConstraintLayout>
  <LinearLayout
    width = "match_parent"
    height = "match_parent">

    <!-- all your linear layout views -->

  </LinearLayout>

  <FloatingActionButton
    constraintBottomToBottomOf="parent"
    constraintEndToEndOf="parent"
    marginEnd="16dp"
    marginBottom="16dp"
    ... />

</ConstraintLayout>
vaj7vani

vaj7vani2#

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_weight="1" />

我试着声明这个视图的固定宽度。比如50dp或者在你的水平线性布局中增加元素的权重。这个视图可能在你的按钮前面,当你点击按钮的时候你实际上点击了这个视图

相关问题