2

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 の元の位置の下にスクロールできます。何故ですか?

4

1 に答える 1

4

私は同じ問題に直面しました。この問題に対する答えは、この質問の答えで完全に定義されています。 アニメーション後に EditText が動かなくなり、スクロールすると元に戻る……?

于 2012-03-12T10:39:55.467 に答える