gpt4 book ai didi

android - 如何在父布局上获取新闻事件?

转载 作者:行者123 更新时间:2023-11-30 04:14:40 24 4
gpt4 key购买 nike

我正在使用 Android 2.2.3。我在 FrameLayout 中有一个 Button,以便按钮覆盖整个 FrameLayout。

当我按下按钮时,只有按钮的选择器获得按下事件。框架的选择器不会收到此事件,因为按钮位于它的顶部。即:属性“android:state_pressed="true"发生在按钮上而不是框架上。

我需要新闻事件而不是点击事件。

我想在按下按钮时将框架的选择器设置为 android:state_pressed="true"。

我试过用

mMuteBtn.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mFrameMute.setPressed(true);
}
if (event.getAction() == MotionEvent.ACTION_UP) {
mFrameMute.setPressed(false);
}
return false;
}
});

它阻止了 onClick() 事件,我还需要它来完成一些其他工作。

我的 main.xml 文件是:

 <FrameLayout
android:id="@+id/frame_mute1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/selector_background" >

<Button
android:id="@+id/mute_btn1"

android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"

android:background="@android:color/transparent"
android:drawableTop="@drawable/selector_button"

android:text="mute"
android:textColor="@android:color/black"
android:textSize="12sp" />

</FrameLayout>

selector_background:

<item android:drawable="@drawable/bg2" android:state_pressed="true"/>
<item android:drawable="@drawable/bg3" android:state_selected="true"/>

<!-- default -->
<item android:drawable="@drawable/bg1"/>

selector_button:

<item android:drawable="@drawable/image2" android:state_pressed="true"/>
<item android:drawable="@drawable/image3" android:state_selected="true"/>

<!-- default -->
<item android:drawable="@drawable/image1"/>

最佳答案

也许您可以先在 onTouch 方法中返回 true 以继续接收触摸事件。

您是否尝试将 FrameLayout 设置为可点击和/或可聚焦?也许它有帮助:

mFrameMute.setClickable(true);
mFrameMute.setFocusable(true);

如果您无法让它工作,一个丑陋但还算不错的方法就是以编程方式更改 FrameLayout 的背景。

关于android - 如何在父布局上获取新闻事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10222938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com