2

Android のスクロール ビューをオーバースクロールしようとすると、グロー効果が表示されます。ICS 以上では青色です。私はそれを緑にする必要があります。多くのトピックを読み、このグロー効果の色を変更する簡単な解決策がないことに気付いたので、この効果を完全に削除することにしました。これは、overScrollMode=never を設定することで実行できます。しかし、minSdkVersion は 9 でなければなりませんが、私は 8 を持っています。

4

2 に答える 2

0

この問題を解決する方法を作成しました。完璧ではありませんが、実際に機能します。試してみることができます。これが私のコードです:

private void removeViewPagerGlowEffect(final ViewPager viewpager, final Context context) {
    viewpager.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            viewpager.onTouchEvent(event);
            try {
                Field leftEdge = viewpager.getClass().getDeclaredField("mLeftEdge");
                leftEdge.setAccessible(true);
                EdgeEffectCompat effectObject = new EdgeEffectCompat(context);
                effectObject.setSize(0, 0);
                leftEdge.set(viewpager, effectObject);

                Field rightEdge = viewpager.getClass().getDeclaredField("mRightEdge");
                rightEdge.setAccessible(true);
                leftEdge.set(viewpager, effectObject);
                rightEdge.set(viewpager, effectObject);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }
    });
}
于 2014-05-06T09:12:34.740 に答える
0

スクロールビューからグロー効果を削除するために、カスタム クラス (ScrollView を拡張) f を作成し、2 つのメソッドをオーバーライドしました。

@Override
protected float getTopFadingEdgeStrength() {
    return 0.0f;
}

@Override
protected float getBottomFadingEdgeStrength() {
    return 0.0f;
}
于 2013-04-15T07:56:28.837 に答える