問題があります。Android:clipChildren =クリッピングされた子の場合はfalseとonClickListner
私たちは、クラスがその子をスケーリング/タッチジェスチャーや翻訳をリッスンスケーリング、翻訳機能
public class MyFrameLayout extends FrameLayout {
...
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
getChildAt(0).setTranslationX(vTranslate.x);
getChildAt(0).setTranslationY(vTranslate.y);
getChildAt(0).setScaleX(mScale.scaleFactor);
getChildAt(0).setScaleY(mScale.scaleFactor);
}
とレイアウトカスタムフレームレイアウトを持っています。 コンテンツを持つViewGroupの親ビューグループとして使用します。制約レイアウトの
<MyFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray"
android:clipChildren="false">
<android.support.constraint.ConstraintLayout
android:id="@+id/calc_constraint_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipChildren="false"/>
コンテンツはprogrammaticaly追加して、画面または親グループ、次に大きいです。そのため、clipChildren = falseを設定します。 しかし、トランジションの前に外れていた子供は、onClickイベントで応答しません。
いくつかの写真:
6%のノードがちょうどクリックに応答しません。 お願いします。
'MyFrameLayout'と' ConstraintLayout'の幅はどうですか? – pskink
@pskinkそれはmatch_parentです。制約レイアウト(白いもの)のために2000dpのような幅を設定すると、コンテナが大きくなり、クリックするようになります。 Dunno、制約レイアウトでmatch_parentとwrap_contentのどちらも機能しないのはなぜですか?イベント(x、y)の位置が親の内側にある場合、イベントが子ビューに渡されるのを見ることができるように、それはまだ "画面サイズ" – Kotsu
です。親の外にある場合、単に無視されます。あなたが 'scrollTo' /' scrollBy'を試すことができるsetTranslation * 'メソッド - ' setScale * 'でどう動くかわかりません... – pskink