ListView のみを含む LinearLayout があります。LinearLayout は画面全体を埋め、listView は最初は画面の下 4 分の 1 にとどまります。画面の下部に listView を保持するために、ListView の Top Margin を大きな値に設定しています。以下の図は、私のレイアウトをよりよく理解するのに役立つかもしれません。
ボタンをクリックすると、listView が上にスライドして画面いっぱいに表示されます。私はこのように翻訳アニメーションを使用しています
TranslateAnimation animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF,0.0f
,Animation.RELATIVE_TO_SELF, 0.0f
,Animation.RELATIVE_TO_SELF,0.0f
,Animation.RELATIVE_TO_SELF, -0.70f);
animation.setDuration(1000);
animation.setFillAfter(true);
animation.setFillEnabled(true);
mBottomView.startAnimation(animation);
ここで、mBottomView は私のリストビュー レイアウトです。そして、このコードは listView を一番上にアニメーション化します。
今私の問題は、リストビューが画面いっぱいになり、スクロールしようとすると、リストビューへのタッチイベントがリストビューの元の位置の上で認識されないことです。つまり、listView をスクロールするために黄色のスペース (画像内) のどこかをタッチすると、タッチが検出されません。listView の元の位置の下にスクロールできます。何故ですか?