博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义控件和试图(原生api)viewPager图片轮播广告
阅读量:2396 次
发布时间:2019-05-10

本文共 2441 字,大约阅读时间需要 8 分钟。

使用android提供的api来做出去自己想要的控件显示效果。基于原生api是最低级的自定义控件和试图

android的v4包自带的控件

android.support.v4.view.ViewPager

几个滚动原点是放在LinearLayout

viewPager是v4自带的完整的控件,监听页面操作后做相应处理即可  setOnPageChangeListener

通过handle可以实现按时自动切换广告图片,也就是自动轮播

handler.sendEmptyMessageDelayed(0, 2000);

代码代替xml布局属性:LinearLayout.LayoutParams

package com.itheima.viewpagerdemo28;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;//要在build path哪里把jar包勾上  视频26.30处讲解//xml文件自定义小图标   视频33.30处讲解public class MainActivity extends Activity {	//用来轮播图片的	//list里面的item是一样的,所以可以复用	//ViewPage里面的条目可能是不一样的,没有规则可言的,所以选择销毁掉	private ViewPager viewPager;	//添加小点的	private LinearLayout pointGroup;	//添加文字的	private TextView iamgeDesc;	// 图片资源ID	private final int[] imageIds = { R.drawable.a, R.drawable.b, R.drawable.c,			R.drawable.d, R.drawable.e };    //图片标题集合	private final String[] imageDescriptions = {			"巩俐不低俗,我就不能低俗",			"扑树又回来啦!再唱经典老歌引万人大合唱",			"揭秘北京电影如何升级",			"乐视网TV版大派送",			"热血屌丝的反杀"	};			private ArrayList
imageList; /** * 上一个页面的位置 */ protected int lastPosition; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = (ViewPager) findViewById(R.id.viewpager); pointGroup = (LinearLayout) findViewById(R.id.point_group); iamgeDesc = (TextView) findViewById(R.id.image_desc); //给第一条设置文字 iamgeDesc.setText(imageDescriptions[0]); imageList = new ArrayList
(); for (int i = 0; i

Xml文件自定义小图形。。用来配置广播图片滚动时下面原型图标跟着改变的效果

选择器,根据state_enabled来选择要使用哪个item,每个item对应下面自定义的图标

选择器在代码中的使用:point是ImageView类

//选择器point.setBackgroundResource(R.drawable.point_bg);if(i==0){	point.setEnabled(true);}else{	point.setEnabled(false);}

自定义的两种小图标

注意:v4包是第三方jar包,编译的时候使用,也就是调用他的类和api是不报错的,也有提示,但是导出的时候是默认没有导出的,所以一运行就要报错,会报某些类或者方法找不到的错等等。

build path这里要配置一下,默认是没有打钩,所以要自己打钩上才能导出去

转载于:https://my.oschina.net/u/2356176/blog/422201

你可能感兴趣的文章
IDL save postscript file
查看>>
Bibtex如何使authors in the citation 最多显示两个
查看>>
Bibtex 如何cite 不同格式
查看>>
Cmake environmental variables: how to make find_package, find_path and find_library work
查看>>
Cmake space in path windows
查看>>
Differences between Tesla and a GeForce Series GPU
查看>>
Faster Parallel Reductions on Kepler
查看>>
NVIDIA Tesla C2075 vs Tesla K10 theoretical performance
查看>>
Fast floor/ceiling functions C
查看>>
Continue Long Statements on Multiple Lines Matlab
查看>>
What does “warning: not all control paths return a value” mean? (C++)
查看>>
C++ 运算符优先级
查看>>
Savitzky-Golay smoothing
查看>>
IDL get variable size in bytes
查看>>
high-frequency emphasis filter matlab
查看>>
cat -n
查看>>
使用 ftrace 调试 Linux 内核,第 2 部分
查看>>
使用 ftrace 调试 Linux 内核,第 3 部分
查看>>
内存储器管理概述、内存分配与释放、地址映射机制(mm_struct, vm_area_struct)、malloc/free 的实现
查看>>
glibc-printf
查看>>