HistoryModeView.java
2.63 KB
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
package com.share.mvpsdk.widgets;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.share.mvpsdk.R;
import com.share.mvpsdk.utils.ResourcesUtils;
/**
* 历史数据查询界面模式自定义View
* @author zyw
* @creation 2016-12-26
*/
public class HistoryModeView extends LinearLayout {
private LinearLayout ll_click_view;
private TextView tv_mode;
private float mSelectTextSize;
private float mUnSelectTextSize;
public HistoryModeView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
ll_click_view = (LinearLayout) View.inflate(context, R.layout.sub_history_click_view, this);
tv_mode = (TextView) findViewById(R.id.tv_click_view);
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.HistoryModeView);
setText(ta.getString(R.styleable.HistoryModeView_android_text));
setSelectTextSize(ta.getDimension(R.styleable.HistoryModeView_select_text_size, 16));
setUnSelectTextSize(ta.getDimension(R.styleable.HistoryModeView_un_select_text_size, 12));
setViewTextSize();
ta.recycle();
}
public HistoryModeView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
//init(context);
}
public HistoryModeView(Context context) {
this(context, null);
//init(context);
}
/**
* 设置控件选中状态
* @param isSelected 控件是否选中
*/
public void setHistoryViewSelected(boolean isSelected){
ll_click_view.setSelected(isSelected);
setViewTextSize();
if(isSelected){
setTextColor(ResourcesUtils.getColor(R.color.light_yellow));
}else {
setTextColor(ResourcesUtils.getColor(R.color.light_grey));
}
}
/**
* 设置控件文字
* @param str 控件文字
*/
public void setText(String str){
tv_mode.setText(str);
}
/**
* 设置控件文字颜色
* @param color 控件文字颜色
*/
public void setTextColor(int color){
tv_mode.setTextColor(color);
}
/**
* 设置根据view的选中状态更新text字号
*/
public void setViewTextSize() {
if(ll_click_view.isSelected()){
tv_mode.getPaint().setTextSize(mSelectTextSize);
}else{
tv_mode.getPaint().setTextSize(mUnSelectTextSize);
}
}
/**
* 设置view选中的字体大小
* @param selectSize 选中字体大小
*/
public void setSelectTextSize(float selectSize){
mSelectTextSize = selectSize;
}
/**
* 设置view没有选中的字体大小
* @param unSelectSize 非选中字体大小
*/
public void setUnSelectTextSize(float unSelectSize){
mUnSelectTextSize = unSelectSize;
}
}