app/src/main/java/me/zhanghai/android/douya/ui/ForegroundHelper.java
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
* Copyright (c) 2015 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
* All Rights Reserved.
*/
package me.zhanghai.android.douya.ui;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v4.view.GravityCompat;
import android.support.v4.view.ViewCompat;
import android.support.v7.widget.TintTypedArray;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
public class ForegroundHelper {
//com.android.internal.R.attr.foregroundInsidePadding
private static final int COM_ANDROID_INTERNAL_R_ATTR_FOREGROUND_INSIDE_PADDING = -300063;
private static final int[] STYLEABLE = new int[] {
android.R.attr.foreground,
android.R.attr.foregroundGravity,
COM_ANDROID_INTERNAL_R_ATTR_FOREGROUND_INSIDE_PADDING
};
private static final int STYLEABLE_ANDROID_FOREGROUND = 0;
private static final int STYLEABLE_ANDROID_FOREGROUND_GRAVITY = 1;
private static final int STYLEABLE_ANDROID_FOREGROUND_INSIDE_PADDING = 2;
private Delegate mDelegate;
private boolean mHasFrameworkBackground;
private Drawable mForeground;
private final Rect mSelfBounds = new Rect();
private final Rect mOverlayBounds = new Rect();
private int mForegroundGravity = Gravity.FILL;
private boolean mForegroundInPadding = true;
private boolean mForegroundBoundsChanged = false;
public ForegroundHelper(Delegate delegate) {
mDelegate = delegate;
}
public void init(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
// TODO: Check for FrameLayout
mHasFrameworkBackground = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
&& context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.M;
if (mHasFrameworkBackground) {
return;
后面还有 225 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
