Skip to content

Commit f1cc26c

Browse files
committed
AnsenTextView增加setShowDrawable方法
1 parent 33f5096 commit f1cc26c

5 files changed

Lines changed: 38 additions & 6 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ allprojects {
1919

2020
使用跟Jcenter在线依赖一样的,在moudle里面依赖
2121
```
22-
implementation 'com.github.ansen666:ShapeView:1.3.4'
22+
implementation 'com.github.ansen666:ShapeView:1.3.5'
2323
```
2424

2525

app/build.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ dependencies {
2828
androidTestImplementation 'androidx.test:runner:1.2.0'
2929
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
3030

31-
// implementation project(path: ':shape')
32-
// implementation 'com.ansen.shape:shape:1.3.2'
33-
implementation 'com.github.ansen666:ShapeView:1.3.4'
31+
implementation project(path: ':shape')
32+
// implementation 'com.github.ansen666:ShapeView:1.3.5'
3433
}

app/src/main/java/com/ansen/testshape/MainActivity.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
2323
private AnsenTextView tvDynamicAlteration;
2424
private boolean change=false;
2525

26-
private AnsenTextView tvMale,tvWoman,tvTag,atvBorderText;
26+
private AnsenTextView tvMale,tvWoman,tvTag,atvBorderText,tvSelectSex;
2727
private AnsenLinearLayout llGoddess,llOrdinaryGirls;
2828

2929
@Override
@@ -54,6 +54,9 @@ protected void onCreate(Bundle savedInstanceState) {
5454
atvBorderText=findViewById(R.id.atv_border_text);
5555
atvBorderText.setOnClickListener(this);
5656

57+
tvSelectSex=findViewById(R.id.tv_select_sex);
58+
tvSelectSex.setShowDrawable(false);
59+
5760
findViewById(R.id.aiv_one).setOnClickListener(this);
5861
findViewById(R.id.tv_follow).setOnClickListener(this);
5962
findViewById(R.id.tv_age_three).setOnClickListener(this);
@@ -129,6 +132,9 @@ public void onClick(View v) {
129132
v.setSelected(!v.isSelected());
130133
}else if(v.getId()==R.id.tv_age_three){
131134
v.setSelected(!v.isSelected());
135+
}else if(v.getId()==R.id.tv_select_sex){
136+
tvSelectSex.setShowDrawable(true);
137+
tvSelectSex.setSelected(!tvSelectSex.isSelected());
132138
}
133139
}
134140
}

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,19 @@
776776
app:stroke_width="1dp"
777777
app:dash_width="4dp"
778778
app:dash_gap="2dp"/>
779+
780+
781+
<com.ansen.shape.AnsenTextView
782+
android:id="@+id/tv_select_sex"
783+
android:layout_width="wrap_content"
784+
android:layout_height="wrap_content"
785+
android:onClick="onClick"
786+
android:text="请选择性别"
787+
788+
android:layout_marginLeft="10dp"
789+
android:drawablePadding="3dp"
790+
app:select_drawable="@mipmap/icon_sex_select_male"
791+
app:unselect_drawable="@mipmap/icon_sex_select_woman"/>
779792
</LinearLayout>
780793
</LinearLayout>
781794
</androidx.core.widget.NestedScrollView>

shape/src/main/java/com/ansen/shape/AnsenTextView.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class AnsenTextView extends AppCompatTextView implements IAnsenShapeView
2323

2424
private LinearGradient shader;
2525
private Paint borderPaint;
26+
private boolean showDrawable=true;
2627

2728
public AnsenTextView(Context context) {
2829
this(context, null);
@@ -239,7 +240,7 @@ public void updateText() {
239240

240241
public void updateDrawable() {
241242
Drawable drawable = attribute.getDrawable();
242-
if (drawable != null) {
243+
if (drawable != null && showDrawable) {
243244
// 这一步必须要做,否则不会显示.
244245
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
245246

@@ -255,6 +256,19 @@ public void updateDrawable() {
255256
}
256257
}
257258

259+
/**
260+
* 是否显示Drawable,默认为true
261+
* @param showDrawable
262+
*/
263+
public void setShowDrawable(boolean showDrawable){
264+
this.showDrawable=showDrawable;
265+
if(showDrawable){//如果设置成true 直接调用updateDrawable方法显示图片
266+
updateDrawable();
267+
}else{
268+
setCompoundDrawables(null, null, null, null);
269+
}
270+
}
271+
258272
/**
259273
* 设置图片方向(设置完成之后需要调用setSelected/updateDrawable才生效)
260274
*

0 commit comments

Comments
 (0)