在程序中有时候几个控件要放在一起,想随意放在布局上,而且不仅一个布局要使用,此时就想把这几个控件定义成一个新的View就好了,于是就有了下面这个类新的控件类SeekBarGroup.java,SeekBarGroup.java集成了三个View,有两个TextView,一个SeekBar,就是一个显示时间的进度条,这只是一种应用思想,可以是任何View的集合
下面先看下效果,就是一个普通的进度条加两个文本显示,
关键代码
package com.adayome.bddemo.widgets;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.Gravity;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import com.adayome.bddemo.R;
import com.adayome.bddemo.utils.LogUtils;
public class SeekBarGroup extends RelativeLayout {
private static final int tv_start_id = 0x1111111;
private static final int tv_end_id = 0x1111112;
private static final int sb_time_id = 0x1111113;
private SeekBar sbTime;
private TextView tvStart;
private TextView tvEnd;
// 布局参数设置
private RelativeLayout.LayoutParams tvStartLp, tvEndLp, sbTimeLp;
public SeekBarGroup(Context context, AttributeSet attrs) {
super(context, attrs);
setGravity(Gravity.CENTER);
initView(context);
// 用代码直接向布局中添加控件
addView(tvStart, tvSt