我在我的xml中使用ImageButton,如下所示:
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton_home"
android:src="@drawable/home_icon"
android:background="@android:color/transparent"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:focusableInTouchMode="false"
android:focusable="false"
android:clickable="true"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton_back"
android:src="@drawable/back_icon"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:background="@android:color/transparent"
android:visibility="gone"
android:focusableInTouchMode="false"
android:focusable="false"
android:clickable="true"
/>
</FrameLayout>
一次只能看到一个图像按钮。 我正在捕获我的java代码中的点击如下:
imageButtonHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent homeIntent = new Intent(SettingsActivity.this, MainActivity.class);
startActivity(homeIntent);
}
});
这有时很好,但并非总是如此。 每当我点击图片按钮时,我都会在logcat中看到这一行:
D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
即使未执行我的ImageButton点击操作,此行也会一直显示。
但是当我的ImageButton点击工作正常时,另一行会累加到日志:
D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
D/AbsListView: Get MotionRecognitionManager
我希望我的图像按钮每次都能正常工作。请帮忙。
答案 0 :(得分:6)
为ImageButtons添加一些填充以捕获触摸事件。
答案 1 :(得分:0)
在ImageButton上使用setOnClickListener(...)
答案 2 :(得分:-1)
尝试使用LinearLayout而不是FrameLayout。
FrameLayout被认为只包含一个孩子。
答案 3 :(得分:-2)
替换此并尝试。
imageButtonHome.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent homeIntent = new Intent(SettingsActivity.this, MainActivity.class);
startActivity(homeIntent);
}
});