【发布时间】:2018-01-16 16:24:46
【问题描述】:
我有 frameLayout,它有两个视图。这个frameLayout里面还有另外一个frame和relativeLayout。
我想添加 ImageView 点击和长点击监听器。当我单击 ImageView 时,设置 ImageButton touchListener。
我添加了clickable, focusable, longClickable and android:descendantFocusability,但它甚至没有进入 ImageView 侦听器的这些部分。
请帮帮我
ImageView imageView = (ImageView) findViewById(R.id.view1);
ImageButton imageButton = (ImageButton) findViewById(R.id.button);
imageView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
button.touchableButton(true);
return true;
}
});
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
button.touchableButton(false);
}
});
public void touchableButton(boolean touchable) {
imageButton.setOnTouchListener(touchable ? this : null);
}
我的布局:
<RelativeLayout
android:id="@+id/grandPaRelative"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/dadFrame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:clipChildren="false"
android:clipToPadding="false">
<FrameLayout
android:id="@+id/momFrame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:descendantFocusability="blocksDescendants">
<ImageButton
android:id="@+id/button"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:adjustViewBounds="true"
android:background="@drawable/circle_tintable"
android:contentDescription="@null"
android:gravity="center"
android:padding="10dp"
android:src="@drawable/abc" />
<ImageView
android:id="@+id/view1"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:adjustViewBounds="true"
android:clickable="true"
android:contentDescription="@null"
android:focusable="true"
android:gravity="center"
android:longClickable="true"
android:padding="15dp"
android:visibility="gone"
app:circleColor="@color/topBar" />
</FrameLayout>
<ImageView
android:id="@+id/view2"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:adjustViewBounds="true"
android:contentDescription="@null"
android:gravity="center"
android:padding="15dp"
android:src="@drawable/view2"
app:circleColor="@color/topBar" />
</FrameLayout>
</RelativeLayout>
【问题讨论】:
标签: android click onlongclicklistener