Skip to content

Commit 865b7c8

Browse files
committed
fixed errors that occurred when setting drawable via xml
1 parent e8f7613 commit 865b7c8

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@
3131
android:layout_height="wrap_content"/>
3232

3333
<com.like.LikeButton
34-
app:icon_type="thumb"
3534
app:icon_size="25dp"
35+
app:like_drawable="@drawable/thumb_on"
36+
app:unlike_drawable="@drawable/thumb_off"
3637
app:circle_start_color="@android:color/holo_blue_bright"
3738
app:circle_end_color="@android:color/holo_blue_dark"
3839
app:dots_primary_color="@android:color/holo_blue_light"

likebutton/src/main/java/com/like/LikeButton.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ public LikeButton(Context context, AttributeSet attrs, int defStyleAttr) {
6868
* @param defStyle
6969
*/
7070
private void init(Context context, AttributeSet attrs, int defStyle) {
71+
LayoutInflater.from(getContext()).inflate(R.layout.likeview, this, true);
72+
icon = (ImageView) findViewById(R.id.icon);
73+
dotsView = (DotsView) findViewById(R.id.dots);
74+
circleView = (CircleView) findViewById(R.id.circle);
75+
7176
final TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.LikeButton, defStyle, 0);
7277

7378
iconSize = array.getDimensionPixelSize(R.styleable.LikeButton_icon_size, -1);
@@ -77,19 +82,20 @@ private void init(Context context, AttributeSet attrs, int defStyle) {
7782
String iconType = array.getString(R.styleable.LikeButton_icon_type);
7883

7984
likeDrawable = array.getDrawable(R.styleable.LikeButton_like_drawable);
85+
86+
if(likeDrawable!=null)
87+
setLikeDrawable(likeDrawable);
88+
8089
unlikeDrawable = array.getDrawable(R.styleable.LikeButton_unlike_drawable);
8190

91+
if(unlikeDrawable!=null)
92+
setUnlikeDrawable(unlikeDrawable);
8293

8394
if (iconType != null)
8495
if (!iconType.isEmpty())
8596
currentIcon = parseIconType(iconType);
8697

8798

88-
LayoutInflater.from(getContext()).inflate(R.layout.likeview, this, true);
89-
icon = (ImageView) findViewById(R.id.icon);
90-
dotsView = (DotsView) findViewById(R.id.dots);
91-
circleView = (CircleView) findViewById(R.id.circle);
92-
9399
circleStartColor = array.getColor(R.styleable.LikeButton_circle_start_color, 0);
94100

95101
if (circleStartColor != 0)

0 commit comments

Comments
 (0)