关闭

ViewPager小圆点的绘制及用法

2837人阅读 评论(0) 收藏 举报
//画小圆点   backcolor.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <item android:state_enabled="true" android:drawable="@drawable/enabletrue"></item>
    <item android:state_enabled="false" android:drawable="@drawable/enablefalse"></item>


</selector>




//选中状态的小圆点    enabletrue.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval">
    
    <size android:width="5dp" android:height="5dp"/>
    <solid android:color="#f00"/>
    
</shape>




//未选中状态的小圆点   enablefalse.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval">
    
    <size android:width="5dp" android:height="5dp"/>
    <solid android:color="#000"/>


</shape>






//activity 中小圆点的数量与页面的数量相同
public void xiaoyuandian(){
//小圆点与图片的数量一致
for(int i=0;i<listimg.size();i++){
// 创建imageView
ImageView imageView = new ImageView(this);
//小圆点的资源文件
imageView.setBackgroundResource(R.drawable.backcolor);
// LayoutParams对象的类型,取决于该控件的父控件类型
LayoutParams layoutparams=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
//设置右边距
layoutparams.rightMargin=15;
//设置imageView属性
imageView.setLayoutParams(layoutparams);
if(i==0){
imageView.setEnabled(true);
}else{
imageView.setEnabled(false);
}
lin_xiaodian.addView(imageView);/////lin_xiaodian  小圆点的布局LinearLayout 
}
}




//让小圆点与Viewpager页面进行联动
//获得正确的位置
int index=arg0%listimg.size();
//取出LinearLayout里当前的imageView
ImageView imageView = (ImageView) lin_xiaodian.getChildAt(index);
imageView.setEnabled(true);

ImageView lastimageView = (ImageView) lin_xiaodian.getChildAt(lastindex);
lastimageView.setEnabled(false);

lastindex=index;   //lastindex 全局变量   记录小圆点的位置
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5139次
    • 积分:111
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章存档