URLから画像を読み込んで、スワイプして1つずつ表示しようとしています。私のスワイプコードはうまく機能しています。次に、ページのヘッダーとフッターを配置する必要があります。
ヘッダーとフッターは 10 秒以内に非表示にする必要があり、ユーザーが画面をタップすると再表示され、次の 10 秒で非表示になる必要があります。表示と非表示を行うためのハンドラー クラスを作成しました。両方のコードは別々に機能しているように見えますが、一緒に参加すると、スワイプが機能しません。
私のレイアウトでは、フッターとヘッダーを画像ビューの上に配置する必要があるため、xml ファイルは次のようになります。
<FrameLayout>
<ImageView> </ImageView>
<RelativeLayout>
<RelativeLayout
android:layout_alignParentTop="true">
</RelativeLayout>
<RelativeLayout
android:layout_alignParentBottom="true">
</RelativeLayout>
</RelativeLayout>
</FrameLayout>
私のonTouchアクションは次のようになります
public boolean onTouchEvent(MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
System.out.println("Touch Down X:" + event.getX() + " Y:" + event.getY());
hide_layout.setVisibility(View.VISIBLE);
return super.onTouchEvent(event);
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
System.out.println("Touch Up X:" + event.getX() + " Y:" + event.getY());
startProgress();
return super.onTouchEvent(event);
}
else if (gestureDetector.onTouchEvent(event))
{
return true;
}
else
{
return false;
}
}
startProgress() はハンドラー クラスであり、相対レイアウトを再び非表示にします。
public void startProgress()
{
Runnable runnable = new Runnable()
{
@Override
public void run()
{
try
{
Thread.sleep(2000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
handler.post(new Runnable()
{
@Override
public void run()
{
hide_layout.setVisibility(View.INVISIBLE);
}
});
}
};
new Thread(runnable).start();
}