这篇文章主要为大家介绍了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