Viewpager 内にリストを表示するために android.support.v4.app.ListFragment を使用しています。
Android 2.3 以前のデバイスでは、ListFragment にフェードエッジが表示されます。アプリ全体がホロのデザインに保たれているため、端が少しずれています。
ListFragmen でこれらのフェージング エッジを無効にするにはどうすればよいですか?
Viewpager 内にリストを表示するために android.support.v4.app.ListFragment を使用しています。
Android 2.3 以前のデバイスでは、ListFragment にフェードエッジが表示されます。アプリ全体がホロのデザインに保たれているため、端が少しずれています。
ListFragmen でこれらのフェージング エッジを無効にするにはどうすればよいですか?
より正確には、ListFragment の onActivityCreated メソッドでこれを行います。
@Override
public void onActivityCreated (Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getListView().setFadingEdgeLength(0);
}
onResume() でこれを行うと、フラグメントのライフサイクル中に setFadingEdgeLength() への冗長な呼び出しを行う可能性があります。
詳細については、Google のFragment Guideを参照してください。
XML でフェージング エッジを無効にできないため、回避策があります。
@Override
public void onResume() {
super.onResume();
ListView listView = getListView();
if (listView != null) {
listView.setFadingEdgeLength(0);
}
}
ビューが既に利用可能である可能性を高めるために、onResume でこれを行います。