为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Android攻城狮的第二门课(第1季)_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第1季)

Smile浅笑 JAVA开发工程师
难度入门
时长 5小时 0分
  • FragmentSaterAdapter
    查看全部
  • ViewFlipper的常用方法 setInAnimation:设置View进入频幕时使用的动画 setOutAnimation:设置View退出频幕时使用的动画 showNext:调用该函数来显示ViewFlipper里面的下一个View showPervious:调用该函数来显示ViewFlipper里面的上一个View setFlipInterval:设置view切换的时间间隔 startFlipping:使用时间间隔来开始切换所有的view,切换回循环进行 startFlipping:停止view切换
    查看全部
  • 控制ScrollView视图位置 private Button btn_up, btn_down; @Override public void onClick(View v) { // TODO 自动生成的方法存根 //scrollTo:以滚动视图起始位置开始计算 //scrollBy:以相对前次滚动位置开始计算 switch (v.getId()) { case R.id.up: sv.scrollTo(0, -30); break; case R.id.down: sv.scrollTo(0, 30); break; } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 监听ScrollView何时滑动到底部 public class MainActivity extends Activity { private TextView tv1; private ScrollView sv; @Override protected void onCreate(Bundle savedInstanceState) { ... tv1.setText(getResources().getString(R.string.content)); sv=(ScrollView) findViewById(R.id.scrollView1); sv.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO 自动生成的方法存根 switch (event.getAction()) { case MotionEvent.ACTION_MOVE: /** * 1、getScrollY()——滚动条滑动的距离 * 2、getMeasuredHeight() * 3、getHeight() */ //顶部状态 if(sv.getScaleY()<=0){ Log.i("TAG", "顶部"); } //底部状态 //TextView的总高度==一屏幕的高度+滚动条的滚动距离 if(sv.getChildAt(0).getMeasuredHeight()<=sv.getScrollY()+sv.getHeight()){ Log.i("TAG", "底部"); } tv1.append("#########################################\n"+getResources().getString(R.string.content)); break; } return false; } }); }
    查看全部
  • getMeasuredHeight与getHeight 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 使用ScrollView实现滚动效果 ScrollView介绍:滚动试图是指当拥有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图。 ScrollView种类:HorizontalScrollView:水平滚动视图;ScrollView:垂直滚动视图。 <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView> </ScrollView> //另类 public class MainActivity extends Activity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView) findViewById(R.id.textView1); tv.setText(getResources().getString(R.string.content)); } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • (知识扩展)支持手势滑动的ViewFlipper private float startX; @Override public boolean onTouchEvent(MotionEvent event) { // TODO 自动生成的方法存根 switch (event.getAction()) { // 手指落下 case MotionEvent.ACTION_DOWN: startX = event.getX(); break; // 手指滑动 case MotionEvent.ACTION_MOVE: // 向右滑动且看上一页 if (event.getX() - startX > 100) { vf.setInAnimation(this, R.anim.left_in); vf.setOutAnimation(this, R.anim.left_out); vf.showPrevious(); } // 向左滑动且看下一页 if (startX - event.getX() > 100) { vf.setInAnimation(this, R.anim.right_in); vf.setOutAnimation(this, R.anim.right_out); vf.showNext(); } break; // 手指离开 case MotionEvent.ACTION_UP: break; } return super.onTouchEvent(event); } Ps:ViewPager:人工切换页面;ViewFlipper:人工切换页面+系统自动切换页面。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 使用ViewFlipper实现的图片轮播 public class MainActivity extends Activity { private ViewFlipper vf; private int resId[] = { R.drawable.pic1, R.drawable.pic2, R.drawable.pic3, R.drawable.pic4 }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vf = (ViewFlipper) findViewById(R.id.viewFlipper1); // 动态导入的方式为ViewFlipper加入子View for (int i = 0; i < resId.length; i++) { vf.addView(getImageView(resId[i])); } // 为ViewFlipper添加动画效果 vf.setInAnimation(this, R.anim.left_in); vf.setOutAnimation(this, R.anim.left_out); // 为ViewFlipper设置切换时间 vf.setFlipInterval(3000); // 开始轮播 vf.startFlipping(); } private ImageView getImageView(int resId) { ImageView image = new ImageView(this); // image.setImageResource(resId);//根据图片大小显示,不会全屏覆盖 image.setBackgroundResource(resId);// 会全屏覆盖 return image; } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • ViewFlipper常用方法 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 为ViewFlipper加入View——动态导入 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 为ViewFlipper加入View——静态导入 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • ViewPager监听器的使用 public class MainActivity extends FragmentActivity implements OnPageChangeListener{...} vp.setOnPageChangeListener(this); @Override public void onPageScrollStateChanged(int arg0) { // TODO 自动生成的方法存根 } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO 自动生成的方法存根 } @Override public void onPageSelected(int arg0) { // TODO 自动生成的方法存根 Toast.makeText(this, "第"+(arg0+1)+"个页面", 1).show(); } Ps:对于ViewPager使用场景,一般逻辑复杂用Fragment组合方式,若逻辑简单使用View组合方式。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:监听器的使用

    2018-03-22

  • 适配器FragmentPagerAdapter IV public class MyFragmentPagerAdapter2 extends FragmentStatePagerAdapter { private List<Fragment> fragList; private List<String> titleList; public MyFragmentPagerAdapter2(FragmentManager fm, List<Fragment> fragList, List<String> titleList) { super(fm); // TODO 自动生成的构造函数存根 this.fragList = fragList; this.titleList = titleList; } @Override public Fragment getItem(int arg0) { // TODO 自动生成的方法存根 return fragList.get(arg0); } @Override public CharSequence getPageTitle(int position) { // TODO 自动生成的方法存根 return titleList.get(position); } @Override public int getCount() { // TODO 自动生成的方法存根 return fragList.size(); } @Override public Object instantiateItem(ViewGroup arg0, int arg1) { // TODO 自动生成的方法存根 return super.instantiateItem(arg0, arg1); } @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO 自动生成的方法存根 super.destroyItem(container, position, object); } }
    查看全部
  • 适配器FragmentPagerAdapter III public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private List<Fragment> fragList; private List<String> titleList; public MyFragmentPagerAdapter(FragmentManager fm, List<Fragment> fragList, List<String> titleList) { super(fm); // TODO 自动生成的构造函数存根 this.fragList = fragList; this.titleList = titleList; } @Override public Fragment getItem(int arg0) { // TODO 自动生成的方法存根 return fragList.get(arg0); } @Override public CharSequence getPageTitle(int position) { // TODO 自动生成的方法存根 return titleList.get(position); } @Override public int getCount() { // TODO 自动生成的方法存根 return fragList.size(); } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 适配器FragmentPagerAdapter II Ps:注意适配器FragmentPagerAdapter I中是否会销毁Fragment是 public class Fragment4 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO 自动生成的方法存根 return inflater.inflate(R.layout.view4, container, false); } @Override public void onDestroy() { // TODO 自动生成的方法存根 super.onDestroy(); Log.d("TAG","销毁"); } } 而不是下面代码的销毁,下面代码两者都会销毁 @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO 自动生成的方法存根 super.destroyItem(container, position, object); } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Android开发课程进阶部分的第1季,将讲解各种高级控件的使用,对于不熟悉Android开发的童鞋来说会有一定的难度,所以,建议在学习本门课程之前: 1、熟练掌握Java基础语法和面向对象编程 2、熟悉Android开发环境 3、熟练使用Button、ImageView等基础控件
老师告诉你能学到什么?
1、Android高级控件的应用场景 2、Android高级控件的使用方法 3、熟悉Android常用高级控件
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!