-
ScrollView的监听器setOnTouchListener 第一步 在MainActivity中声明和初始化ScrollView 第二步 设置监听器setOnTouchListener 第三步 OnTouchListener中用switch语句套用getAction 第四步 switch语句里嵌套if语句判断滑动到顶部还是底部 第五步 tv.append();方法加载新的内容 getScrollY()————滚动条滑动的距离 getMeasuredHeight:需要滑动内容实际长度。 getHeight:整个页面的长度(高度)。 公式:活动到底部:getMeasuredHeight()<=getHeight()+scroll.getScrollY(); getMeasureedHeight和getHeight的区别 当视图未占满一个屏幕时,它们两者是相等的. 当视图超过一个屏幕时 getMeasureedHeight 包括隐藏的部分的长度和显示出来的长度 getHeight 仅仅是显示出来的长度.查看全部
-
监听手指在屏幕上的滑动2:监听器借口:OnScrollListener 方法:onScrollStateChanged(AbsListView arg0, int scrollState); int scrollState代表手指在当前屏幕的动作: scrollState == SCROLL_STATE_FLING : 代表用户在手指离开屏幕前,用力滑了一下;(视图仍然在滑动) scrollState == SCROLL_STATE_TOUCH_SCROLL : 手指没有离开屏幕,(手指在屏幕上滑动)视图在滑动; scrollState == SCROLL_STATE_IDLE: 视图停止滑动;查看全部
-
监听手指在屏幕上的动作的方法:onTouchEvent(MotionEvent event){}查看全部
-
public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub /** *event.getAction()获取手指滑动的动作 *location为全局字段 *event.getX()获取当前鼠标的横坐标 */ switch(event.getAction()){ case MotionEvent.ACTION_DOWN: location=event.getX(); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: //向右滑动 图片从左边出来显示前一张 if(event.getX()-location>100){ viewFlipper.setInAnimation(MainActivity3.this,R.anim.left_in); viewFlipper.setOutAnimation(MainActivity3.this,R.anim.left_out); viewFlipper.showPrevious();//显示上一张图片 } if(location-event.getX()>100){ viewFlipper.setInAnimation(MainActivity3.this,R.anim.right_in); viewFlipper.setOutAnimation(MainActivity3.this,R.anim.right_out); viewFlipper.showNext();//显示下一张图片 } break; } return super.onTouchEvent(event); }查看全部
-
动态导入的方式为ViewFlipper加入子View: // 1. 把资源的ID写在数组里 private int[] resId = { R.drawable.pic1, R.drawable.pic2, R.drawable.pic3, R.drawable.pic4 }; // 2.遍历数组,添加的是图片信息 for (int i = 0; i < resId.length; i++){ flipper.addView(getImageView(resId[i])); } // 3.图片信息 private ImageView getImageView(int resId) { ImageView image = new ImageView(this); // image.setImageResource(resId);//图片原图 // 图片全屏 image.setBackgroundResource(resId); return image; } // 4.为ViewFlipper去添加动画效果图片切换及动画效果 flipper.setInAnimation(this, R.anim.left_in);// 进来效果 flipper.setOutAnimation(this, R.anim.left_out);// 出去效果 // 设定ViewFlipper视图切换的时间间隔 flipper.setFlipInterval(3000);// 播放的时间,毫秒值,3000毫秒即是3秒 // 开始播放 flipper.startFlipping();// 让动画动起来 }查看全部
-
ViewFlipper的常用方法查看全部
-
为ViewFlipper添加View查看全部
-
service是后台的逻辑实现, content Provider:内容提供者,用来管理数据库访问以及程序间的数据共享 Broadcast Receiver:全局事件的监听器查看全部
-
Activity:启动一个没有在清单中定义的Activity程序会死掉查看全部
-
1.OnPageChangeListener()——用来监控ViewPager滑动到第几页,position是从零开始计数; Toast.makeText(this,"当前是第"+(arg0+1)+"个页面", Toast.LENGTH_SHORT).show(); 2.在我们的工作中,使用Fragment填充ViewPager更加常见,即使用FragmentPagerAdapter或者FragmentStatePagerAdapter,因为Fragment比View拥有更加全面的生命周期,而如果我们使用PagerAdapter,就是直接使用View来填充ViewPager,这种做法不常用。 切换页卡的监听器: 1.OnPageChangListener,其中最常用的函数是onPageSelected(int arg0); 2.Fragment生命周期比较全,以fragment为资源的ViewPager比较好控制,适用于逻辑比较复杂的情况,如果只是为了展示则推荐以view为资源的viewPager查看全部
-
FragmentPagerAdater为适配器加载ViewPager 1. Activity布局文件中添加android.support.v4.view.ViewPager 2. 初始化数据源 (1)List<Fragment>数据源 fragList = new ArrayList<Fragment>(); fragList.add(new Fragment1()); fragList.add(new Fragment2()); (2)初始化Tab title数据源 titleList = new ArrayList<String>(); titleList.add("FirstFrag"); titleList.add("SecondFrag"); 3. 新建一个FragmentPagerAdapter适配器,并重写构造函数和其他的函数 public MyFragemntPagerAdapter(FragmentManager fm, List<Fragment> fragList, List<String> titleList) { super(fm); this.fragList = fragList; this.titleList = titleList; } 4. 在Activity中创建适配器,构造函数中将fragList、titleList都传递进去 MyFragemntPagerAdapter adapter = new MyFragemntPagerAdapter(getSupportFragmentManager(), fragList, titleList); 5. 加载适配器 viewPager.setAdapter(adapter); 6. 注意 (1)需要新建几个Fragment类来将Layout布局转换成View对象。最后再由List<Fragment>添加进来。 (2)在FragmentPagerAdapter中,所有的页卡是一次创建的,并不会销毁 (3)FragmentStatePagerAdapter,用法和FragmentPagerAdapter一样,只是需要添加 instantiateItem(),destroyItem(),且不需要改 (4)FragmentStatePagerAdapter的区别在于页卡是每次创建3个查看全部
-
第一步 在MainActivity中创建一个对象private PagerTabStrip tab; 第二步 在main.xml的v4.view.ViewPager中嵌套多一个v4.view.PagerTabStrip 第三步 在MainActivity中为ViewPager页卡设置标题 private List<String>titleList; //声明 titleList=new ArrayList<String>(); //实例化 titleList.add("第一页");//添加 有好几条 第四步 把titleList传到构造方法MyPagerAdapter 并且写好 第五步 MyPagerAdapter中加载getPageTitle方法 来设置ViewPager页卡的标题 要实现这个方法 必须要在布局文件中加载了PagerTabStrip货PagerTitleStrip 第六步 为PagerTabStrip设置一些属性 第七步 PagerTitleStrip出现 PagerTabStrip会失效查看全部
-
要想添加标题,那么在 <android.support.v4.view.ViewPager>里添加子标签<android.support.v4.view.PagerTabStrip>或<android.support.v4.view.PagerTitleStrip>查看全部
-
第一步 先定义main4.xml布局文件 第二步 MainActivity4中加载main4.xml (setContentView(R.layout.main4)) 第三步 建立新的MyFragment5类去接收Activity4传递过来的信息,并加载所对应的布局文件 第四步 在android_fragmen中声明MainActivity4 第五步 按钮加跳转 第六步 MainActivity4的onClick中初始化MyFragment5 第七步 获取Fragment管理者并开启事物 第八步 把Fragment5添加进来(beginTransaction) 第九步 在MyFragment5获取数据包 getArguments查看全部
-
Fragment动态加载 1. 对Fragment进行添加、移除、替换,以及执行其他动作,提交给activity的每一套变化被称作一个事务。 每一个事务都是执行一套变化,可以在一个事务中设置你所有想执行的变化,然后提交给activity,必须调用commit()方法。 2. 动态加载Fragment (1)自定义一个Fragment,指定其布局文件 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_main, container, false); //fragment_main是对应的布局 textView = (TextView) view.findViewById(R.id.textView); textView.setText("动态加载"); return view; } (2)创建一个自定义Fragment的实例,并开启一个事务 MyFragment2 fragment2 = new MyFragment2(); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction beginTransaction = fragmentManager.beginTransaction(); beginTransaction.add(R.id.dongtaiFragment, fragment2); beginTransaction.addToBackStack(null); //允许按back键返回 beginTransaction.commit();查看全部
举报
0/150
提交
取消