fac86401
孙向锦
初始化C5 Vote
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
package com.sunvote.statusbar.view;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import me.kaini.statusbar.R;
/**
* 状态栏单个项[图标,文字]
* {@link #setIcon(int)}变更图标
* {@link #setText(int)}变更文字,{@link #setTextColor(int)}设置文字颜色,默认白色
* {@link #setBarItemClickListener(OnBarItemClickListener)} 设置单个项单击监听
* @author
*/
public class BarItem extends LinearLayout{
private ImageView mIcon;
private TextView mText;
private int textVisibility = View.VISIBLE;
private OnBarItemClickListener mListener;
public BarItem(Context context) {
this(context, null);
}
public BarItem(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
@SuppressLint("NewApi")
public BarItem(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initItem(context, attrs, defStyle);
}
private void initItem(Context ctx, AttributeSet attrs, int defStyle){
LayoutInflater ll = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = ll.inflate(R.layout.bar_item, null);
addView(v);
mIcon = (ImageView)findViewById(R.id.iv_bar_icon );
mText = (TextView)findViewById(R.id.tv_bar_text);
TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.BarItem, defStyle, 0);
Drawable icon = a.getDrawable(R.styleable.BarItem_android_icon);
setIcon(icon);
CharSequence txt = a.getText(R.styleable.BarItem_android_text);
if(txt != null){
setText(txt.toString());
}
int textColor = a.getColor(R.styleable.BarItem_android_textColor, getResources().getColor(android.R.color.white));
setTextColor(textColor);
textVisibility = a.getInt(R.styleable.BarItem_textVisibility, textVisibility);
setTextVisibility(textVisibility);
a.recycle();
}
public void setIcon(Drawable icon){
if(icon == null){
return;
}
this.mIcon.setImageDrawable(icon);
}
public void setIcon(int resId){
setIcon(getResources().getDrawable(resId));
}
public void setText(int resId){
setText(getResources().getString(resId));
}
public void setText(String text){
this.mText.setText(text);
}
public void setTextColor(int textColor){
mText.setTextColor(textColor);
}
/**
* 设置文字的可见状态
* @param visibility {@link View#GONE},{@link View#VISIBLE}
* @attr R.styleable.BarItem_textVisibility
*/
public void setTextVisibility(int visibility){
mText.setVisibility(visibility);
}
/**
* 设置图标单击事件监听器
* @param l
*/
public void setBarItemClickListener(OnBarItemClickListener l){
this.mListener = l;
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mListener != null) {
mListener.onClick(BarItem.this);
}
}
});
}
/**
* BarItem click event
*/
public interface OnBarItemClickListener {
void onClick(BarItem item);
}
}
|