本文整理匯總了Java中android.widget.EdgeEffect.setColor方法的典型用法代碼示例。如果您正苦於以下問題:Java EdgeEffect.setColor方法的具體用法?Java EdgeEffect.setColor怎麽用?Java EdgeEffect.setColor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.widget.EdgeEffect
的用法示例。
在下文中一共展示了EdgeEffect.setColor方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: tintEdgeEffect
import android.widget.EdgeEffect; //導入方法依賴的package包/類
/**
* Tint the edge effect when you reach the end of a scroll view. API 21+ only
*
* @param scrollableView the scrollable view, such as a {@link android.widget.ScrollView}
* @param color the color
* @return true if it worked, false if it did not
*/
@TargetApi(21)
public static boolean tintEdgeEffect(@NonNull View scrollableView, @ColorInt int color) {
//http://stackoverflow.com/questions/27104521/android-lollipop-scrollview-edge-effect-color
boolean outcome = false;
final String[] edgeGlows = {"mEdgeGlowTop", "mEdgeGlowBottom", "mEdgeGlowLeft", "mEdgeGlowRight"};
for (String edgeGlow : edgeGlows) {
Class<?> clazz = scrollableView.getClass();
while (clazz != null) {
try {
final Field edgeGlowField = clazz.getDeclaredField(edgeGlow);
edgeGlowField.setAccessible(true);
final EdgeEffect edgeEffect = (EdgeEffect) edgeGlowField.get(scrollableView);
edgeEffect.setColor(color);
outcome = true;
break;
} catch (Exception e) {
clazz = clazz.getSuperclass();
}
}
}
return outcome;
}
示例2: setListViewEdgeEffectColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
public static void setListViewEdgeEffectColor(AbsListView listView, int color) {
if (Build.VERSION.SDK_INT >= 21) {
try {
Field field = AbsListView.class.getDeclaredField("mEdgeGlowTop");
field.setAccessible(true);
EdgeEffect mEdgeGlowTop = (EdgeEffect) field.get(listView);
if (mEdgeGlowTop != null) {
mEdgeGlowTop.setColor(color);
}
field = AbsListView.class.getDeclaredField("mEdgeGlowBottom");
field.setAccessible(true);
EdgeEffect mEdgeGlowBottom = (EdgeEffect) field.get(listView);
if (mEdgeGlowBottom != null) {
mEdgeGlowBottom.setColor(color);
}
} catch (Exception e) {
FileLog.e("tmessages", e);
}
}
}
示例3: setListViewEdgeEffectColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
public static void setListViewEdgeEffectColor(AbsListView listView, int color) {
if (Build.VERSION.SDK_INT >= 21) {
try {
Field field = AbsListView.class.getDeclaredField("mEdgeGlowTop");
field.setAccessible(true);
EdgeEffect mEdgeGlowTop = (EdgeEffect) field.get(listView);
if (mEdgeGlowTop != null) {
mEdgeGlowTop.setColor(color);
}
field = AbsListView.class.getDeclaredField("mEdgeGlowBottom");
field.setAccessible(true);
EdgeEffect mEdgeGlowBottom = (EdgeEffect) field.get(listView);
if (mEdgeGlowBottom != null) {
mEdgeGlowBottom.setColor(color);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
示例4: setEdgeEffectColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
public static void setEdgeEffectColor(EdgeEffect edgeEffect, int color) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
edgeEffect.setColor(color);
return;
}
Field edgeField = EdgeEffect.class.getDeclaredField("mEdge");
Field glowField = EdgeEffect.class.getDeclaredField("mGlow");
edgeField.setAccessible(true);
glowField.setAccessible(true);
Drawable mEdge = (Drawable) edgeField.get(edgeEffect);
Drawable mGlow = (Drawable) glowField.get(edgeEffect);
mEdge.setColorFilter(color, PorterDuff.Mode.SRC_IN);
mGlow.setColorFilter(color, PorterDuff.Mode.SRC_IN);
mEdge.setCallback(null); // free up any references
mGlow.setCallback(null); // free up any references
} catch (Exception ignored) {
}
}
示例5: setListViewEdgeEffectColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
public static void setListViewEdgeEffectColor(AbsListView listView, int color) {
if (Build.VERSION.SDK_INT >= 21) {
try {
Field field = AbsListView.class.getDeclaredField("mEdgeGlowTop");
field.setAccessible(true);
EdgeEffect mEdgeGlowTop = (EdgeEffect) field.get(listView);
if (mEdgeGlowTop != null) {
mEdgeGlowTop.setColor(color);
}
field = AbsListView.class.getDeclaredField("mEdgeGlowBottom");
field.setAccessible(true);
EdgeEffect mEdgeGlowBottom = (EdgeEffect) field.get(listView);
if (mEdgeGlowBottom != null) {
mEdgeGlowBottom.setColor(color);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
示例6: applyEdgeEffectColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
void applyEdgeEffectColor(EdgeEffectCompat edgeEffectCompat) {
if (Build.VERSION.SDK_INT >= 21 && glowColor != 0) {
try {
Field field = EdgeEffectCompat.class.getDeclaredField("mEdgeEffect");
field.setAccessible(true);
EdgeEffect edgeEffect = (EdgeEffect) field.get(edgeEffectCompat);
if (edgeEffect != null) {
edgeEffect.setColor(glowColor);
}
} catch (Exception e) {
FileLog.e("tmessages", e);
}
}
}
示例7: setEdgeGlowColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private static void setEdgeGlowColor(@NonNull EdgeEffectCompat edgeEffect, @ColorInt int color) throws Exception {
Field field = EdgeEffectCompat.class.getDeclaredField("mEdgeEffect");
field.setAccessible(true);
EdgeEffect effect = (EdgeEffect) field.get(edgeEffect);
if (effect != null)
effect.setColor(color);
}
示例8: changeEdgeEffect
import android.widget.EdgeEffect; //導入方法依賴的package包/類
@SuppressLint("NewApi")
public static void changeEdgeEffect(Context cxt, View list, int glowColor, int lineColor) {
if (Helper.isAtLeastAPI(Build.VERSION_CODES.LOLLIPOP)) {
EdgeEffect edgeEffectTop = new EdgeEffect(cxt);
edgeEffectTop.setColor(glowColor);
EdgeEffect edgeEffectBottom = new EdgeEffect(cxt);
edgeEffectBottom.setColor(glowColor);
try {
Field f1 = AbsListView.class.getDeclaredField("mEdgeGlowTop");
f1.setAccessible(true);
f1.set(list, edgeEffectTop);
Field f2 = AbsListView.class.getDeclaredField("mEdgeGlowBottom");
f2.setAccessible(true);
f2.set(list, edgeEffectBottom);
} catch (Exception e) {
e.printStackTrace();
}
} else {
// Android < 5.0 - OverScroll Glow
int glowDrawableId = cxt.getResources().getIdentifier("overscroll_glow", "drawable",
"android");
Drawable androidGlow = ContextCompat.getDrawable(cxt, glowDrawableId);
androidGlow.setColorFilter(ContextCompat.getColor(cxt, glowColor),
PorterDuff.Mode.SRC_ATOP);
// Android < 5.0 - OverScroll Edge Line
final int edgeDrawableId = cxt.getResources().getIdentifier("overscroll_edge",
"drawable", "android");
final Drawable overScrollEdge = ContextCompat.getDrawable(cxt, edgeDrawableId);
overScrollEdge.setColorFilter(ContextCompat.getColor(cxt, lineColor),
PorterDuff.Mode.SRC_ATOP);
}
}
示例9: setScrollViewEdgeEffectColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
public static void setScrollViewEdgeEffectColor(ScrollView scrollView, int color) {
if (Build.VERSION.SDK_INT >= 21) {
try {
Field field = ScrollView.class.getDeclaredField("mEdgeGlowTop");
field.setAccessible(true);
EdgeEffect mEdgeGlowTop = (EdgeEffect) field.get(scrollView);
if (mEdgeGlowTop != null) {
mEdgeGlowTop.setColor(color);
}
field = ScrollView.class.getDeclaredField("mEdgeGlowBottom");
field.setAccessible(true);
EdgeEffect mEdgeGlowBottom = (EdgeEffect) field.get(scrollView);
if (mEdgeGlowBottom != null) {
mEdgeGlowBottom.setColor(color);
}
} catch (Exception e) {
FileLog.e(e);
}
}
}
示例10: applyEdgeEffectColor
import android.widget.EdgeEffect; //導入方法依賴的package包/類
void applyEdgeEffectColor(EdgeEffectCompat edgeEffectCompat) {
if (Build.VERSION.SDK_INT >= 21 && glowColor != 0) {
try {
Field field = EdgeEffectCompat.class.getDeclaredField("mEdgeEffect");
field.setAccessible(true);
EdgeEffect edgeEffect = (EdgeEffect) field.get(edgeEffectCompat);
if (edgeEffect != null) {
edgeEffect.setColor(glowColor);
}
} catch (Exception e) {
FileLog.e(e);
}
}
}