Andorid轮播图切换效果的小圆点(横线)

最近做项目时要做轮播图,带切换效果的,然后看了一些切换效果的代码,总结起来觉得很简单,无非是根据当前页实现背景图的切换,就把它封装成类,方便一下调用:


import android.content.Context;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.TextView;

public class PageControl {

    private LinearLayout layout;
    private TextView[] textViews;
    private TextView textView;
    private int pageSize;

    public int getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }

    private int selectedImage = R.drawable.radio_sel;
    private int unselectedImage = R.drawable.radio;

    private int currentPage = 0;
    private Context mContext;

    public PageControl(Context context, LinearLayout layout, int pageSize) {
        this.mContext = context;
        this.pageSize = pageSize;
        this.layout = layout;

        init();
    }

    void init() {
        textViews = new TextView[pageSize];
        for (int i = 0; i < pageSize; i++) {
            LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(30, 30);
            params.setMargins(8, 8, 8, 0);
            textView = new TextView(mContext);
            textView.setLayoutParams(params);

            textViews[i] = textView;
            if (i == 0) {
                textViews[i].setBackgroundResource(R.drawable.index_main_1);
            } else {
                textViews[i].setBackgroundResource(R.drawable.index_main_2);
            }
            layout.addView(textViews[i]);
        }
    }

    boolean isFirst() {
        return this.currentPage == 0;
    }

    boolean isLast() {
        return this.currentPage == pageSize;
    }

    public void selectPage(int current) {
        for (int i = 0; i < textViews.length; i++) {
            textViews[current].setBackgroundResource(R.drawable.index_main_1);
            if (current != i) {
                textViews[i].setBackgroundResource(R.drawable.index_main_2);
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值