第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

android"小白"手把手教你實(shí)現(xiàn)圖片輪播

標(biāo)簽:
Android
    大家好我是“安xiaobai”。我一个人躲在角落里学些android很99999999了感觉是应该写点东西才行,嗯,对是要写点东西分享一下。今天“安xiaobai”就来分享一个自己写的小demo。
    本人第一次在网络上分享,如果写的不好,或者对“俺”写的代码有问题的,欢迎大神指导。![图片描述][1]

    好了上正文。

   首先是布局文件代码:
<!-- 这里的LinearLayout可以不要,“安xiaobai”我是另有它用 -->
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="150dp"
        android:orientation="vertical">
        <android.support.v4.view.ViewPager
            android:id="@+id/vp_advertise"
            android:layout_width="fill_parent"
            android:layout_height="150dp">
        </android.support.v4.view.ViewPager>
    </LinearLayout>
    这里"安xiaobai"用的是viewPager这个组件来实现的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/advertise_item"
    android:orientation="vertical" >
</LinearLayout>

这里是另外的一个布局文件,这个布局文件是为了显示viewPager中每一张图片而准备的。

再是java文件

    private  ViewPager viewPager;
    private View  view;
    private List<View> advertiseList;
    private GuidePageAdapter adapter;
    private AtomicInteger atomicInteger = new AtomicInteger();

    /*
     * 这里直接返回的是一个布局
     */
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.recommend,container,false);
        //找到布局文件中的viewPager
        viewPager = (ViewPager) view.findViewById(R.id.vp_advertise);
        //创建广告数组对象
        advertiseList = new ArrayList<View>();
        //找到layout文件下的 advertise_item 布局文件
        View viewxml =  getActivity().getLayoutInflater().inflate(R.layout.advertise_item,null);
        //将这个布局文件 转换成 view的控件
        LinearLayout viewId = (LinearLayout) viewxml.findViewById(R.id.advertise_item);
        //给控件添加背景图片
        viewId.setBackgroundResource(R.drawable.t1);
        //将控件添加到  广告数组中
        advertiseList.add(viewId);

        View viewxml2 =  getActivity().getLayoutInflater().inflate(R.layout.advertise_item,null);
        LinearLayout viewid2 = (LinearLayout) viewxml2.findViewById(R.id.advertise_item);
        viewid2.setBackgroundResource(R.drawable.bg);
        advertiseList.add(viewid2);

        //这里是实例化一个  adapter
        adapter = new GuidePageAdapter(getActivity(),advertiseList);
        //给viewPager绑定adapter
        viewPager.setAdapter(adapter);
        //这里是事件监听
        viewPager.addOnPageChangeListener(vp_listener);

        //循环执行
        new Timer().schedule(new TimerTask() {
            public void run() {
                                //这里是将  viewpager 的下标发送出去
                handler.sendEmptyMessage(atomicInteger.incrementAndGet()-1);
            }
        }, 1000,2000);

        return view;
    }

这段代码上面部分已经给出了很详细的解释了,这里就不废话了。最后那几行代码使用的是java提供的一个计时器工具。schedule()这个方法有三个参数,第一个参数是要重复执行的任务,第二个参数是程序启动后多久执行,第三个参数是每隔多长时间去重复执行。
在。
最后面有一个return view 这里“安xiaobai”是在一个Fragment里面写的,如果是要复制代码的同学请注意一下哦!!!!!一定要注意,一定要注意,一定要注意。
这里的计数器使用的是android AtomicInteger类提供的方法,这样做事为了线程的安全。

Handler handler = new Handler(){
        public void handleMessage(android.os.Message msg){
                        //接受handeler发送过来viewPager的 下标数据
            viewPager.setCurrentItem(msg.what);
                        //判断 下标不能超过数组最大值,超过了就从0又开始逐渐增加
            if (atomicInteger.get() == advertiseList.size()) {
                atomicInteger.set(0);
            }
        };
    };
 这里这方法应该和前面oncreateView并行的。这个就是经典的异步执行,关于异步“安xiaobai”也还在努力的 学习中,现在"俺"只能简单的使用它来传递一些数据。

这是 "安xiaobai"的处女秀(我是一个汉子),如果写的不好欢迎各位大神指点。
图片描述
喜欢就点个推荐呗o(^^)o!
另外我也想把效果图放上来,可是我是"安xiaobai"( - )( - )不会弄(--)b(--)b欢迎大神留言教学。

點(diǎn)擊查看更多內(nèi)容
21人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消