This commit is contained in:
seven332 committed 2015-04-19 14:57:54 +08:00
1 parent 4133bb4e7b
commit dbbcebab67
23 files changed
+564 -120

No files matched your search

@@ -30,7 +30,6 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import com.hippo.util.ApiHelper;
import com.hippo.util.MathUtils;
public class CheckTextView extends TextView implements OnClickListener, Hotspotable {
@@ -131,7 +130,7 @@ public class CheckTextView extends TextView implements OnClickListener, Hotspota
}
radiusAnim.setDuration(ANIMATION_DURATION); // TODO decide duration according to mMaxRadius
radiusAnim.addListener(mAnimatorListener);
if (ApiHelper.HAS_AUTO_CANCEL_ON_ANIMATION) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
radiusAnim.setAutoCancel(true);
}
radiusAnim.start();
@@ -15,11 +15,9 @@
package com.hippo.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Rect;
import android.os.Build;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.FrameLayout;
@@ -39,27 +37,20 @@ public class DrawerFrameLayout extends FrameLayout {
public DrawerFrameLayout(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs, 0, 0);
init(context, attrs);
}
public DrawerFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs, defStyleAttr, 0);
init(context, attrs);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public DrawerFrameLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init(context, attrs, defStyleAttr, defStyleRes);
}
private void init(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
final TypedArray a = context.obtainStyledAttributes(attrs, MAX_ATTRS, defStyleAttr, defStyleRes);
private void init(Context context, AttributeSet attrs) {
final TypedArray a = context.obtainStyledAttributes(attrs, MAX_ATTRS);
mMaxWidth = a.getDimensionPixelSize(0, -1);
a.recycle();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int widthSpecSize = MeasureSpec.getSize(widthMeasureSpec);
@@ -15,10 +15,8 @@
package com.hippo.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Build;
import android.util.AttributeSet;
import android.widget.FrameLayout;
@@ -37,23 +35,17 @@ public class FixedAspectLayout extends FrameLayout {
public FixedAspectLayout(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs, 0, 0);
init(context, attrs);
}
public FixedAspectLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs, defStyleAttr, 0);
init(context, attrs);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public FixedAspectLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init(context, attrs, defStyleAttr, defStyleRes);
}
private void init(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
private void init(Context context, AttributeSet attrs) {
TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.FixedAspectLayout, defStyleAttr, defStyleRes);
attrs, R.styleable.FixedAspectLayout);
setAspect(a.getFloat(R.styleable.FixedAspectLayout_aspect, -1f));
a.recycle();
}
@@ -33,7 +33,6 @@ import android.widget.FrameLayout;
import android.widget.TextView;
import com.hippo.ehviewer.R;
import com.hippo.util.ApiHelper;
// Get code from https://gist.github.com/jromero/233cfd8ef22a8b8c29ea
/**
@@ -142,7 +141,7 @@ public class FloatLabelEditText extends FrameLayout {
"translationY", mLabel.getHeight(), 0f);
translationYAnim.setDuration(ANIMATION_DURATION);
if (ApiHelper.HAS_AUTO_CANCEL_ON_ANIMATION) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
alphaAnim.setAutoCancel(true);
translationYAnim.setAutoCancel(true);
}
@@ -172,7 +171,7 @@ public class FloatLabelEditText extends FrameLayout {
}
});
if (ApiHelper.HAS_AUTO_CANCEL_ON_ANIMATION) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
alphaAnim.setAutoCancel(true);
translationYAnim.setAutoCancel(true);
}
@@ -19,10 +19,11 @@ import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.view.View;
public class SimpleImageView extends View {
public class SimpleImageView extends View implements Drawable.Callback {
private Drawable mDrawable;
@@ -42,10 +43,26 @@ public class SimpleImageView extends View {
private void init(Context context, AttributeSet attrs) {
final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS);
mDrawable = a.getDrawable(0);
setDrawable(a.getDrawable(0));
a.recycle();
}
public void setDrawable(Drawable drawable) {
if (mDrawable != null) {
mDrawable.setCallback(null);
}
mDrawable = drawable;
if (mDrawable != null) {
mDrawable.setCallback(this);
}
requestLayout();
}
@Override
public void invalidateDrawable(@NonNull Drawable who) {
invalidate();
}
@Override
protected int getSuggestedMinimumWidth() {
int superMinWidth = super.getSuggestedMinimumWidth();