平滑
来源:互联网 发布:淘宝免费代理加盟 编辑:程序博客网 时间:2024/06/02 22:05
public class MyViewpagerDic extends HorizontalScrollView implements OnClickListener {
private LinearLayout linearLayout;
private String[] titles;
private List<View> listView = new ArrayList<View>();
private ViewPager viewPager;
// 重写方法
public MyViewpagerDic(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initView();
}
public MyViewpagerDic(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
public MyViewpagerDic(Context context) {
super(context);
initView();
}
// 创建方法使viewpager和平滑能够一起滑动
public void getPager(ViewPager viewPager) {
this.viewPager = viewPager;
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
setcurron(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
// 创建线性布局
private void initView() {
linearLayout = new LinearLayout(getContext());
this.addView(linearLayout);
}
// 展示标题
public void setTitles(String[] titles) {
this.titles = titles;
listView.clear();
for (int i = 0; i < titles.length; i++) {
// 获得布局
View view = View.inflate(getContext(), R.layout.menu_main, null);
// 把布局添加到listview中
listView.add(view);
// 查找控件
TextView tab = (TextView) view.findViewById(R.id.tv_tab);
TextView line = (TextView) view.findViewById(R.id.tv_line);
tab.setText(titles[i]);
// 进行判断使滑动或者点击时能够改变字体颜色
if (i == 0) {
tab.setTextColor(Color.RED);
line.setVisibility(VISIBLE);
} else {
tab.setTextColor(Color.BLACK);
line.setVisibility(GONE);
}
// 给veiw id
view.setId(i);
// 给view设置监听
view.setOnClickListener(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
linearLayout.addView(view, params);
}
}
@Override
public void onClick(View v) {
setcurron(v.getId());
}
// 监听的方法
private void setcurron(int position) {
// 获取宽度进行计算能够展示更多的标题数据
int width = linearLayout.getChildAt(position).getWidth();
this.scrollTo(width * position, 0);
for (int i = 0; i < titles.length; i++) {
View view = listView.get(i);
// 查找控件
TextView tab = (TextView) view.findViewById(R.id.tv_tab);
TextView line = (TextView) view.findViewById(R.id.tv_line);
// 进行判断使滑动或者点击时能够改变字体颜色
if (position == i) {
// 设置传过来的viewpager的当前页
viewPager.setCurrentItem(i);
tab.setTextColor(Color.RED);
line.setVisibility(VISIBLE);
} else {
tab.setTextColor(Color.BLACK);
line.setVisibility(GONE);
}
}
}
}
private LinearLayout linearLayout;
private String[] titles;
private List<View> listView = new ArrayList<View>();
private ViewPager viewPager;
// 重写方法
public MyViewpagerDic(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initView();
}
public MyViewpagerDic(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
public MyViewpagerDic(Context context) {
super(context);
initView();
}
// 创建方法使viewpager和平滑能够一起滑动
public void getPager(ViewPager viewPager) {
this.viewPager = viewPager;
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
setcurron(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
// 创建线性布局
private void initView() {
linearLayout = new LinearLayout(getContext());
this.addView(linearLayout);
}
// 展示标题
public void setTitles(String[] titles) {
this.titles = titles;
listView.clear();
for (int i = 0; i < titles.length; i++) {
// 获得布局
View view = View.inflate(getContext(), R.layout.menu_main, null);
// 把布局添加到listview中
listView.add(view);
// 查找控件
TextView tab = (TextView) view.findViewById(R.id.tv_tab);
TextView line = (TextView) view.findViewById(R.id.tv_line);
tab.setText(titles[i]);
// 进行判断使滑动或者点击时能够改变字体颜色
if (i == 0) {
tab.setTextColor(Color.RED);
line.setVisibility(VISIBLE);
} else {
tab.setTextColor(Color.BLACK);
line.setVisibility(GONE);
}
// 给veiw id
view.setId(i);
// 给view设置监听
view.setOnClickListener(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
linearLayout.addView(view, params);
}
}
@Override
public void onClick(View v) {
setcurron(v.getId());
}
// 监听的方法
private void setcurron(int position) {
// 获取宽度进行计算能够展示更多的标题数据
int width = linearLayout.getChildAt(position).getWidth();
this.scrollTo(width * position, 0);
for (int i = 0; i < titles.length; i++) {
View view = listView.get(i);
// 查找控件
TextView tab = (TextView) view.findViewById(R.id.tv_tab);
TextView line = (TextView) view.findViewById(R.id.tv_line);
// 进行判断使滑动或者点击时能够改变字体颜色
if (position == i) {
// 设置传过来的viewpager的当前页
viewPager.setCurrentItem(i);
tab.setTextColor(Color.RED);
line.setVisibility(VISIBLE);
} else {
tab.setTextColor(Color.BLACK);
line.setVisibility(GONE);
}
}
}
}
0 0
- 平滑
- 平滑
- 平滑SpeedButton
- 图像平滑
- Gauss平滑
- 图像平滑
- 平滑滤波
- Laplace 平滑
- 图像平滑
- 直方图平滑
- 平滑(smoothing)
- 图像平滑
- 数据平滑
- 图像平滑
- 图像平滑
- 平滑速度
- 拉普拉斯平滑
- 平滑处理
- POJ 3279 Fliptile 开关灯问题(状态压缩加暴力搜索)
- JavaScript浮点数计算bug
- EasyUI 1.4.2 日期控件添加清空按钮
- 转载 感谢原作者 目前最全的windows平台下:scikit-learn安装教程
- yii2读写分离配置
- 平滑
- 用python简单处理图片(3):添加水印
- JS中匀速运动的基本框架
- 孙鑫 lesson12 File
- 自定义标签(JspFragment类、invoke方法、开发带属性的标签)
- 以CSV文件导入MySQL的批量数据插入操作之Java操作
- 波兰国防部数据遭窃,黑客索要$50000赎金
- Android Studio 真机不能调试,报错Error:java.lang.UnsupportedClassVersionError: com/android/dx/command/Main :
- hbase测试,pe,分区