Skip to content

Commit 407a98d

Browse files
committed
1,修复bug
1 parent 9c91cfa commit 407a98d

File tree

2 files changed

+201
-6
lines changed

2 files changed

+201
-6
lines changed

app/src/main/res/layout/activity_main.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,22 @@
99

1010
<com.flyjingfish.gradienttextviewlib.GradientTextView
1111
android:layout_width="wrap_content"
12-
android:layout_height="wrap_content"
12+
android:layout_height="28dp"
1313
android:layout_margin="10dp"
1414
android:text="Hello World!"
1515
android:textColor="@color/white"
1616
android:textSize="30sp"
17+
android:paddingHorizontal="10dp"
18+
android:drawableStart="@mipmap/ic_launcher_round"
19+
android:shadowColor="#14000000"
20+
android:shadowDx="0"
21+
android:shadowDy="0"
22+
android:shadowRadius="3.0"
23+
android:drawablePadding="10dp"
24+
app:autoSizeMaxTextSize="19sp"
25+
app:autoSizeMinTextSize="6dp"
26+
app:autoSizeStepGranularity="1sp"
27+
app:autoSizeTextType="uniform"
1728
app:gradient_angle="0"
1829
app:gradient_endColor="@color/purple_200"
1930
app:gradient_startColor="@color/teal_200" />

library/src/main/java/com/flyjingfish/gradienttextviewlib/GradientTextView.java

Lines changed: 189 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@
1313
import android.util.AttributeSet;
1414
import android.util.LayoutDirection;
1515
import android.view.ViewGroup;
16-
import android.widget.TextView;
1716

1817
import androidx.annotation.Nullable;
19-
import androidx.appcompat.widget.AppCompatTextView;
2018
import androidx.core.text.TextUtilsCompat;
2119

2220
import com.flyjingfish.perfecttextviewlib.PerfectTextView;
@@ -25,7 +23,7 @@
2523

2624
public class GradientTextView extends PerfectTextView {
2725

28-
private final TextView backGroundText;
26+
private final PerfectTextView backGroundText;
2927
private int strokeWidth;
3028
private int[] gradientStrokeColors;
3129
private float[] gradientStrokePositions;
@@ -53,7 +51,7 @@ public GradientTextView(Context context, AttributeSet attrs,
5351
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
5452
isRtl = TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == LayoutDirection.RTL;
5553
}
56-
backGroundText = new AppCompatTextView(context, attrs, defStyle);
54+
backGroundText = new PerfectTextView(context, attrs, defStyle);
5755
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.GradientTextView);
5856
strokeWidth = typedArray.getDimensionPixelSize(R.styleable.GradientTextView_gradient_stroke_strokeWidth, 0);
5957
int startStrokeColor = typedArray.getColor(R.styleable.GradientTextView_gradient_stroke_startColor, 0);
@@ -102,7 +100,7 @@ public GradientTextView(Context context, AttributeSet attrs,
102100

103101
initCompoundDrawables();
104102

105-
backGroundText.setCompoundDrawablePadding(getCompoundDrawablePadding());
103+
106104
}
107105

108106

@@ -389,6 +387,192 @@ private void initCompoundDrawables(){
389387
}
390388

391389
backGroundText.setCompoundDrawables(drawableLeft,drawableTop,drawableRight,drawableBottom);
390+
backGroundText.setDrawableStartPadding(getDrawableStartPadding());
391+
backGroundText.setDrawableEndPadding(getDrawableEndPadding());
392+
backGroundText.setDrawableLeftPadding(getDrawableLeftPadding());
393+
backGroundText.setDrawableRightPadding(getDrawableRightPadding());
394+
backGroundText.setDrawableTopPadding(getDrawableTopPadding());
395+
backGroundText.setDrawableBottomPadding(getDrawableBottomPadding());
396+
}
397+
398+
@Override
399+
public void setDrawableStart(int drawableStart) {
400+
backGroundText.setDrawableStart(drawableStart);
401+
super.setDrawableStart(drawableStart);
402+
}
403+
404+
@Override
405+
public void setDrawableEnd(int drawableEnd) {
406+
backGroundText.setDrawableEnd(drawableEnd);
407+
super.setDrawableEnd(drawableEnd);
408+
}
409+
410+
@Override
411+
public void setDrawableTop(int drawableTop) {
412+
backGroundText.setDrawableTop(drawableTop);
413+
super.setDrawableTop(drawableTop);
414+
}
415+
416+
@Override
417+
public void setDrawableBottom(int drawableBottom) {
418+
backGroundText.setDrawableBottom(drawableBottom);
419+
super.setDrawableBottom(drawableBottom);
420+
}
421+
422+
@Override
423+
public void setDrawableLeft(int drawableLeft) {
424+
backGroundText.setDrawableLeft(drawableLeft);
425+
super.setDrawableLeft(drawableLeft);
426+
}
427+
428+
@Override
429+
public void setDrawableRight(int drawableRight) {
430+
backGroundText.setDrawableRight(drawableRight);
431+
super.setDrawableRight(drawableRight);
432+
}
433+
434+
@Override
435+
public void setDrawableStart(Drawable drawableStart) {
436+
backGroundText.setDrawableStart(drawableStart);
437+
super.setDrawableStart(drawableStart);
438+
}
439+
440+
@Override
441+
public void setDrawableEnd(Drawable drawableEnd) {
442+
backGroundText.setDrawableEnd(drawableEnd);
443+
super.setDrawableEnd(drawableEnd);
444+
}
445+
446+
@Override
447+
public void setDrawableLeft(Drawable drawableLeft) {
448+
backGroundText.setDrawableLeft(drawableLeft);
449+
super.setDrawableLeft(drawableLeft);
450+
}
451+
452+
@Override
453+
public void setDrawableRight(Drawable drawableRight) {
454+
backGroundText.setDrawableRight(drawableRight);
455+
super.setDrawableRight(drawableRight);
456+
}
457+
458+
@Override
459+
public void setDrawableTop(Drawable drawableTop) {
460+
backGroundText.setDrawableTop(drawableTop);
461+
super.setDrawableTop(drawableTop);
392462
}
393463

464+
@Override
465+
public void setDrawableBottom(Drawable drawableBottom) {
466+
backGroundText.setDrawableBottom(drawableBottom);
467+
super.setDrawableBottom(drawableBottom);
468+
}
469+
470+
471+
@Override
472+
public void setSelectedText(CharSequence selectedText) {
473+
backGroundText.setSelectedText(selectedText);
474+
super.setSelectedText(selectedText);
475+
}
476+
477+
@Override
478+
public void setSelectedText(int resid) {
479+
backGroundText.setSelectedText(resid);
480+
super.setSelectedText(resid);
481+
}
482+
483+
@Override
484+
public void setDefaultHint(CharSequence defaultHint) {
485+
backGroundText.setDefaultHint(defaultHint);
486+
super.setDefaultHint(defaultHint);
487+
}
488+
489+
@Override
490+
public void setSelectedHint(CharSequence selectedHint) {
491+
backGroundText.setSelectedHint(selectedHint);
492+
super.setSelectedHint(selectedHint);
493+
}
494+
495+
@Override
496+
public void setDefaultHint(int resid) {
497+
backGroundText.setDefaultHint(resid);
498+
super.setDefaultHint(resid);
499+
}
500+
501+
@Override
502+
public void setSelectedHint(int resid) {
503+
backGroundText.setSelectedHint(resid);
504+
super.setSelectedHint(resid);
505+
}
506+
507+
@Override
508+
public void setDrawableStartWidthHeight(int width, int height) {
509+
backGroundText.setDrawableStartWidthHeight(width, height);
510+
super.setDrawableStartWidthHeight(width, height);
511+
}
512+
513+
@Override
514+
public void setDrawableTopWidthHeight(int width, int height) {
515+
backGroundText.setDrawableTopWidthHeight(width, height);
516+
super.setDrawableTopWidthHeight(width, height);
517+
}
518+
519+
@Override
520+
public void setDrawableEndWidthHeight(int width, int height) {
521+
backGroundText.setDrawableEndWidthHeight(width, height);
522+
super.setDrawableEndWidthHeight(width, height);
523+
}
524+
525+
@Override
526+
public void setDrawableBottomWidthHeight(int width, int height) {
527+
backGroundText.setDrawableBottomWidthHeight(width, height);
528+
super.setDrawableBottomWidthHeight(width, height);
529+
}
530+
531+
@Override
532+
public void setDrawableLeftWidthHeight(int width, int height) {
533+
backGroundText.setDrawableLeftWidthHeight(width, height);
534+
super.setDrawableLeftWidthHeight(width, height);
535+
}
536+
537+
@Override
538+
public void setDrawableRightWidthHeight(int width, int height) {
539+
backGroundText.setDrawableRightWidthHeight(width, height);
540+
super.setDrawableRightWidthHeight(width, height);
541+
}
542+
543+
@Override
544+
public void setDrawableStartPadding(int drawableStartPadding) {
545+
backGroundText.setDrawableStartPadding(drawableStartPadding);
546+
super.setDrawableStartPadding(drawableStartPadding);
547+
}
548+
549+
@Override
550+
public void setDrawableTopPadding(int drawableTopPadding) {
551+
backGroundText.setDrawableTopPadding(drawableTopPadding);
552+
super.setDrawableTopPadding(drawableTopPadding);
553+
}
554+
555+
@Override
556+
public void setDrawableEndPadding(int drawableEndPadding) {
557+
backGroundText.setDrawableEndPadding(drawableEndPadding);
558+
super.setDrawableEndPadding(drawableEndPadding);
559+
}
560+
561+
@Override
562+
public void setDrawableBottomPadding(int drawableBottomPadding) {
563+
backGroundText.setDrawableBottomPadding(drawableBottomPadding);
564+
super.setDrawableBottomPadding(drawableBottomPadding);
565+
}
566+
567+
@Override
568+
public void setDrawableLeftPadding(int drawableLeftPadding) {
569+
backGroundText.setDrawableLeftPadding(drawableLeftPadding);
570+
super.setDrawableLeftPadding(drawableLeftPadding);
571+
}
572+
573+
@Override
574+
public void setDrawableRightPadding(int drawableRightPadding) {
575+
backGroundText.setDrawableRightPadding(drawableRightPadding);
576+
super.setDrawableRightPadding(drawableRightPadding);
577+
}
394578
}

0 commit comments

Comments
 (0)