Android Scrollview Fading Edgeの色を設定するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2640877

  •  27-09-2019
  •  | 
  •  

質問

白い背景を持つAndroid Scrollviewがあります。フェードエッジは、白い半透明の勾配です。白ではなく黒に変えたいと思います。デフォルトで黒いフェードエッジを持つ白い背景を持つ同じプロジェクトにリストビューがありますが、設定された場所(どこでも)が見つかりません。

役に立ちましたか?

解決

試行錯誤によってそれを見つけたばかりです。

単に設定します android:background="@color/yourColor" のために <ScrollView>. 。それは与えられた色に影を設定します。

他のヒント

背景とは異なる色のフェードエッジが必要な場合は、ScrollViewのGetSolidColor()メソッドをオーバーライドする必要があります。例えば:

@Override
public int getSolidColor() {
    return Color.rgb(0x30, 0x30, 0x30);
}

使用できます:

    final int glowDrawableId = context.getResources().getIdentifier("overscroll_glow",
            "drawable", "android");
    final Drawable androidGlow = context.getResources().getDrawable(glowDrawableId);
    androidGlow.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);

    int edgeDrawableId = context.getResources().getIdentifier("overscroll_edge", "drawable",
            "android");
    final Drawable androidEdge = context.getResources().getDrawable(edgeDrawableId);
    androidEdge.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);

これを使用できます:

https://github.com/androidalliance/ededefectoverride

enter image description here

シンプルな清潔で働いている完璧!

編集: :これは質問に答えません、それは求めていました ScrollView. 。この答えは機能するだけです AbsListView および子孫(を含む ListView).


フェードエッジの色は、によって制御されます android:cacheColorHint 属性。

例えば:

<ScrollView android:cacheColorHint="#ff000000" android:background="#ffffffff" />

背景を白に設定します cacheColorHint フェードエッジの色を描くために使用されます - この場合、それは黒です。

フェードエッジの色が何が変わったのかわからない場合は、おそらくスタイルやテーマの適用でした。マニフェストを確認してください android:theme="something" アクティビティで。テーマがグループからのものである場合 android.R.style.Theme.Light エッジは白になります。デフォルト android.R.style.Themeandroid.R.style.Theme.Black 黒いフェードエッジがあります。テーマは他の属性にも影響を与えるので、属性を完全にチェックしてから、1つのことを投入してください。

これを行う:

  <ScrollView
    android:theme="@style/scrollUpdate"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >

値でスタイルはスタイルを置きます

<style name="scrollUpdate">
    <item name="colorAccent">@color/yourcolor</item>
    <item name="android:color">@color/yourcolor</item>
    <item name="colorPrimary">@color/yourcolor</item>
    <item name="colorPrimaryDark">@color/yourcolor</item>
</style>

私にはtksに動作します!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top