Android 倒计时广告与广告轮播

这篇文章主要为大家介绍了Android实现时间倒计时功能与广告轮播,感兴趣的小伙伴们可以看看,。

效果图:


不会上传短视频,只能截几张图给小伙伴看看了,请见谅哈,。

我们要导两个包:

//轮播图
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.daimajia.slider:library:1.1.5@aar'

两个布局,一个是广告倒计时布局,一个是轮播广告图布局,。

一个anim布局

animxml如下

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <alpha
        android:duration="1000"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />
    <scale
        android:duration="800"
        android:fromXScale="1.5"
        android:fromYScale="1.5"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
</set>


广告倒计时布局:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/gg">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_margin="10dp"
        android:background="@drawable/re_corners"
        android:orientation="horizontal" >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text=" 跳过 "
            android:textColor="#04f1f1"
            android:textSize="20sp" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text=" | "
            android:textColor="#0bb0f1"
            android:textSize="20sp" />
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text=" 3 "
            android:textColor="#07e0ec"
            android:textSize="20sp" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text=" s "
            android:textColor="#10b8cb"
            android:textSize="20sp" />

    </LinearLayout>
</FrameLayout>

轮播广告图布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="150dp"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <com.daimajia.slider.library.SliderLayout
        android:id="@+id/slider"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.daimajia.slider.library.Indicators.PagerIndicator
            android:id="@+id/app_indicator"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="10dp"
            app:selected_color="@color/colorPrimary"
            app:selected_height="3dp"
            app:selected_padding_left="2dp"
            app:selected_padding_right="2dp"
            app:selected_width="16dp"
            app:shape="rect"
            app:unselected_color="#55333333"
            app:unselected_height="3dp"
            app:unselected_padding_left="2dp"
            app:unselected_padding_right="2dp"
            app:unselected_width="16dp"
            />
    </com.daimajia.slider.library.SliderLayout>
</RelativeLayout>

接下来我们开始写实现

广告实现:

public class StartActivity extends AppCompatActivity {
    // 声明控件对象
    private TextView textView;
    //声明时间有多少;
    private int count = 3;
    private Animation animation;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 下面的话就是去除标题的方法
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_start);
        // 初始化控件对象textView
        textView = (TextView) findViewById(R.id.textView);
        animation = AnimationUtils.loadAnimation(this, R.anim.dome);
        handler.sendEmptyMessageDelayed(0, 1000);
    }
    //咱在写一个计算Welcome界面的广告时间结束后进入主界面的方法
    private int getCount() {
        count--;
        if (count == 0) {
            Intent intent = new Intent();
            intent.setClass(StartActivity.this,ShufflingActivity.class);//意图跳转
            startActivity(intent);
            finish();
        }
        return count;
    }
    //进行一个消息的处理
    @SuppressLint("HandlerLeak")
      Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0) {
                textView.setText(getCount()+"");
                handler.sendEmptyMessageDelayed(0, 1000);
                animation.reset();
                textView.startAnimation(animation);
          }
        };
    };
}

轮播图的实现

public class ShufflingActivity extends AppCompatActivity {
    private SliderLayout slider;
    private PagerIndicator app_indicator;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_shuffling);
        initView();
        initImageSlider();
    }

    private void initView() {
        slider=findViewById(R.id.slider);
        app_indicator=findViewById(R.id.app_indicator);
    }
    /**
     * 初始化首页的商品广告条
     */
    private void initImageSlider() {
        //准备好要显示的数据
        List<String> imageUrls = new ArrayList<>();
        final List<String> descriptions = new ArrayList<>();
        imageUrls.add("http://m.360buyimg.com/mobilecms/s300x98_jfs/t2416/102/20949846/13425/a3027ebc/55e6d1b9Ne6fd6d8f.jpg");
        imageUrls.add("http://m.360buyimg.com/mobilecms/s300x98_jfs/t1507/64/486775407/55927/d72d78cb/558d2fbaNb3c2f349.jpg");
        imageUrls.add("http://m.360buyimg.com/mobilecms/s300x98_jfs/t1363/77/1381395719/60705/ce91ad5c/55dd271aN49efd216.jpg");
        descriptions.add("新品推荐");
        descriptions.add("时尚男装");
        descriptions.add("家电秒杀");

        for (int i = 0; i < imageUrls.size(); i++) {
            //新建三个展示View,并且添加到SliderLayout
            TextSliderView tsv = new TextSliderView(getApplicationContext());
            tsv.image(imageUrls.get(i)).description(descriptions.get(i));
            final int finalI = i;
            tsv.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
                @Override
                public void onSliderClick(BaseSliderView slider) {
                    Toast.makeText(getApplicationContext(), descriptions.get(finalI), Toast.LENGTH_SHORT).show();
                }
            });
            slider.addSlider(tsv);
        }

        //对SliderLayout进行一些自定义的配置
        slider.setCustomAnimation(new DescriptionAnimation());
        slider.setPresetTransformer(SliderLayout.Transformer.Accordion);//图片轮播时候的动画,有兴趣的话可以都亲自试一下;
        slider.setDuration(3000);
        //      sliderLayout.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
        slider.setCustomIndicator(app_indicator);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        slider.stopAutoCycle();
    }
}

Android实现时间倒计时功能与广告轮播写到这就写完了,。感兴趣的小伙伴看看哈,。

源码下载地址:https://download.csdn.net/download/weixin_42267745/10446016


猜你喜欢

转载自blog.csdn.net/weixin_42267745/article/details/80502691