引包略
public?class?Topbar?extends?RelativeLayout?{
/*
*?聲明控件
*/
private?Button?leftButton,?rightButton;
private?TextView?tvTitle;
/*
*?控件屬性lefttext
*/
private?int?leftTextColor;
private?Drawable?leftBackground;
private?String?leftText;
/*
*?控件屬性righttext
*/
private?int?rightTextColor;
private?Drawable?rightBackground;
private?String?rightText;
/*
*?控件屬性title
*/
private?Drawable?titleBackground;
private?int?titleTextColor;
private?float?titleTextSize;
private?String?title;
private?LayoutParams?leftParams,rightParams,titleParams;
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public?Topbar(Context?context,?AttributeSet?attrs)?{
super(context,?attrs);
TypedArray?ta?=?context.obtainStyledAttributes(attrs,R.styleable.Topbar);
rightTextColor?=?ta.getColor(R.styleable.Topbar_rightTextColor,0);
rightBackground?=?ta.getDrawable(R.styleable.Topbar_rightBackground);
rightText?=?ta.getString(R.styleable.Topbar_rightText);
leftBackground?=?ta.getDrawable(R.styleable.Topbar_leftBackground);
leftText?=?ta.getString(R.styleable.Topbar_leftText);
leftTextColor?=?ta.getColor(R.styleable.Topbar_leftBackground,?0);
titleTextColor?=?ta.getColor(R.styleable.Topbar_mtitleTextColor,?0);
titleTextSize?=?ta.getDimension(R.styleable.Topbar_mtitleTextSize,?0);
title?=?ta.getString(R.styleable.Topbar_mtitle);
titleBackground?=?ta.getDrawable(R.styleable.Topbar_mtitleBackground);
ta.recycle();
leftButton?=?new?Button(context);
rightButton?=?new?Button(context);
tvTitle?=?new?TextView(context);
leftButton.setTextColor(leftTextColor);
leftButton.setBackground(leftBackground);
leftButton.setText(leftText);
rightButton.setTextColor(rightTextColor);
rightButton.setBackground(rightBackground);
rightButton.setText(rightText);
tvTitle.setText(title);
tvTitle.setTextSize(titleTextSize);
tvTitle.setTextColor(titleTextColor);
tvTitle.setGravity(Gravity.CENTER);
setBackgroundColor(0XFF81c7d4);
leftParams?=?new?LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
leftParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT,?TRUE);
addView(leftButton,?leftParams);
rightParams?=?new?LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
rightParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,?TRUE);
addView(rightButton,?rightParams);
titleParams?=?new?LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
titleParams.addRule(RelativeLayout.CENTER_IN_PARENT,?TRUE);
addView(tvTitle,?titleParams);
}
}
2016-01-15
是不是沒有在布局里面聲明出來?