3
Google Nexus Sでは、ListViewの末尾を超えてドラッグしようとすると、黄色のグラデーションが表示され、そのサイズはドラッグされた距離によって決まります。このグラデーションの色はどのように変更されますか?私は明らかな何かを見ることができません。ListViewの最後に勾配の色を変更します
それは、ない cacheColorHintです。
Google Nexus Sでは、ListViewの末尾を超えてドラッグしようとすると、黄色のグラデーションが表示され、そのサイズはドラッグされた距離によって決まります。このグラデーションの色はどのように変更されますか?私は明らかな何かを見ることができません。ListViewの最後に勾配の色を変更します
それは、ない cacheColorHintです。
ScrollViewの実装ではハードコードされているようです。 thisを見て、ライン1389上のsetOverScrollMode()
方法は、(誰かがソースを更新した場合、正確な行数が変更される可能性):私は見ることができます
@Override
public void setOverScrollMode(int mode) {
if (mode != OVER_SCROLL_NEVER) {
if (mEdgeGlowTop == null) {
final Resources res = getContext().getResources();
final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
final Drawable glow = res.getDrawable(R.drawable.overscroll_glow);
mEdgeGlowTop = new EdgeGlow(edge, glow);
mEdgeGlowBottom = new EdgeGlow(edge, glow);
}
} else {
mEdgeGlowTop = null;
mEdgeGlowBottom = null;
}
super.setOverScrollMode(mode);
}
唯一の方法は、あなた自身のScrollViewの実装を定義することで、setOverScrollMode()
を上書き独自のドロアブルを使用して、標準のものではなくScrollViewの実装を使用するListView
を暗示します。
EdgeGlowとは何ですか?このクラスはどこにありますか? –