为了账号安全,请及时绑定邮箱和手机立即绑定

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

难度入门
时长 5小时 0分
学习人数
综合评分9.43
320人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • ViewPager中“FragmentPagerAdpater”和“FragmentStatePagerAdapter”的应用 1.和PagerAdapter的用法类似。 2.自定义“FragmentPagerAdapter”,继承FragmentPagerAdapter类。为了兼容低版本,使用该包 。android.support.v4.app.Fragment 其他的Fragment也使用该包下的。 3.增添构造方法public MyFragmentAdapter(FragmentManager fm)。接收FragmentManager,同时也可将List<Fragment>,List<String>(标题)传进来。 4.类似ViewPager重写方法。不需要像ViewPager一样重写增添和销毁方法。但是多加了一个该方法,用改获取当前Fragment public Fragment getItem(int position) { return fragmentList.get(position); } 5.回到Activity中,将继承的Activity类改为FragmentAcitvity。 6.构造自定义FragmentAdapter; fragmentAdpater=new MyFragmentAdapter(getSupportFragmentManager(), fragmentList, tabList); 6.1 使用getSupportFragmentManager()来获取兼容的FragmentManager; 7.增添适配器即可 二、FragmentStatePagerAdapter的用法和FragmentPagerAdapter一模一样。 三、FragmentPagerAdapter和FragmentStatePagerAdapter的区别 1.FragmentPagerAdapter在切换页面的时候,并不会销毁页面。而是保留在内存中 2.FragmentStatePagerAdapter在页面不在视线范围内时,会销毁页面。移除内存。 所以当页面占用大量内存时,可以使用FragmentStatePagerAdapter
    查看全部
  • 给ViewPager加标题。 PagerTabPager和PagerTitlePager的用法 1.在ViewPager下增添“子标签” “android.support.v4.view.PagerTabStrip” 2.新建一个List<String>来存储标题文本。 3.将该文本传递到“自定义PagerAdapter”类下。 4.自定义PagerAdapter重写getPageTitle方法。返回当前位置标题即可 public CharSequence getPageTitle(int position) { return tabList.get(position); } 5.通过获取PagerTab对象来改变标题样式。 viewPager=(ViewPager) findViewById(R.id.viewPager); pagerTabStrip=(PagerTabStrip) findViewById(R.id.tab); pagerTabStrip.setAlpha(50);//设置透明度 pagerTabStrip.setBackgroundColor(Color.BLUE); pagerTabStrip.setTabIndicatorColor(Color.RED); //设置指示器(下面的横线)的颜色。 PagerTitleStrip和PagerTabStrip用法一样。区别如下: PagerTabStrip: 1.点击上面的标题可以实现ViewPager的切换。 2.选中的文字下方包含指引线 3.可是设置是否显示全宽下划线(setDrawFullUnderline) PagerTitleStrip: 1.点击上面的标题无反应。 2.无上述描述。
    查看全部
  • ViewPager使用总结。 1.在xml中增添</android.support.v4.view.ViewPager> 2.新建多个layout,作为多个View 3.使用View.inflate(,,)方法将layout.xml转化为View对象。 View view1= View.inflate(this, R.layout.view1, null); 4.将多个View对象增添到 List<View>对象中。 5.自定义PagerAdapter类。 继承“抽象类PagerAdapter” 5.2. 为自定义的PagerAdapter类增添构造函数,要求将viewList传递进来。 public class MyPagerAdapter extends PagerAdapter 6. 实现“未实现方法”和两个必要方法 6.1 public int getCount(){ //返回页卡(View)数量 return viewList.size(); } 6.2 public boolean isViewFromObject(View arg0, Object arg1) { //判断View是否来自对象,用来给外部使用,判断两个view是否一致 return arg0==arg1; } 6.3 public Object instantiateItem(ViewGroup container, int position) //实例化一个页卡。 { //将view增添到ViewGroup中 container.addView(viewList.get(position)); return viewList.get(position); } 6.4 public void destroyItem(ViewGroup container, int position, Object object) //销毁一个页卡 { container.removeView(viewList.get(position)); } 7.设置适配器即可
    查看全部
  • ViewPage适配器
    查看全部
    0 采集 收起 来源:认识ViewPager

    2017-02-11

  • 给“静态Fragment”传值 1.通过Id获取Fragment FragmentManager manager= getFragmentManager(); Fragment frag= manager.findFragmentById(R.id.frag); 2.可以在Fragment定义一些private变量,通过set方法传值。 3.应该也可以通过setArguments方法传值
    查看全部
  • 使用“回掉函数”机制,完成Fragment到Activity传值 1.在Fragment中定义内部接口 public interface CallbackData{ public void callback(String content); } 2.让Activity实现该接口。 3.在Fragment中,获取Activity,将其强制类型转换为该接口 CallbackData data= (CallbackData) getActivity(); 4.之后调用Activity中的函数,完成“回掉传值” data.callback("content");
    查看全部
  • Activity向Fragment传递数据 1.实例化Bundle数据包。 使用putXXX(key,value);方式将键值对数据放入数据包。 Bundle bundle=new Bundle(); bundle.putString("data", editText.getText().toString()); 2.对实例化的Fragment进行传值。使用setArguments(bundle)方式 CommunicationFragment fragment=new CommunicationFragment(); fragment.setArguments(bundle); //设置数据包 3.在Fragment端,使用getArguments获取Bundle数据包。 Bundle bundle=getArguments(); 4.使用 bundle.getXXX(key); 使用该方式,通过键获取数据。 bundle.getString("data")
    查看全部
  • 布局_7
    查看全部
  • 布局_6
    查看全部
  • 布局_5
    查看全部
  • 布局_4
    查看全部
  • 布局_3
    查看全部
  • 动态加载Fragment。使用事务加载。 MyFragment myFragment=new MyFragment();//实例化Fragment FragmentManager fragmentManager=getFragmentManager(); //获取FragmentManager对象 FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();//开启事务 fragmentTransaction.add(R.id.linearLayout, myFragment);//在当前layout下增添Fragment fragmentTransaction.addToBackStack(null); //设置返回按钮时,回滚刚才状态。param为名称(可随便起) fragmentTransaction.commit();//提交事务
    查看全部
  • Fragment应用。 1. Layout中包含<fragment/>组件,其中重要属性为 android:name="com.example.fragmentdemo.MyFragment" //为该fragment类的全限定名 2. 定义类,继承Fragment类,与Fragment组件中的name值匹配。 3. 重写onCreateView方法。 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 4. 返回view对象。 注:返回值就是该Fragment的Layout对象。 其中inflater.inflate是将xml布局文件转化为对象。 return inflater.inflate(R.layout.fragment_content, container, false); 三个参数分别为: 1.布局文件id, 2. 该布局文件父容器。 3.是否返回父容器 5.加载layout布局即可。
    查看全部
  • 布局_2
    查看全部
    0 采集 收起 来源:推荐使用布局

    2017-02-10

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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