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

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

Smile浅笑 JAVA开发工程师
难度入门
时长 5小时 0分
  • ewFlipper子界面自动切换(如轮播图) ScrollView滚动 1、HorizontalScrollView:水平滚动视图(不常用) 2、ScrollView:垂直滚动视图 方法: 一、setOnTouchListener何时滑动到底部(相似下拉刷新 ) getMeasuredHeight(内容总高度)与getHeight(屏幕的高度) 屏幕刚好放下所有内容时,两个相等,内容超越屏幕的话,就是getMeasuredHeight 二、scrollTo和scrollBy区别(滚动的位置) scrollTo:以滚动视图起始位置计算的(只能滚动一次) scrollBy:相对于前一个位置去滚动(可以持续滚动) [ 收起全文 ]
    查看全部
  • ScrollView滑动到底部: TextView的总高度<=1屏幕的高度+滚动条的滚动距离 scroll.getChildAt(0).getMeasuredHeight<=srcoll.getHeight()+scroll.getScrollY(); [ 查看全文 ]
    查看全部
  • GridView的常用属性: 1.android:numColumns="" //每一行显示多少列 2.android:horizontalSpacing="" //两列之间的间距 3..android:verticalSpacing="" //两行之间的间距
    查看全部
    0 采集 收起 来源:设置属性

    2018-03-22

  • ProgressBar显示风格
    查看全部
  • 注意事项
    查看全部
    0 采集 收起 来源:总结

    2016-03-10

  • 适配器PagerAdapter II public class MyPagerAdapter extends PagerAdapter { private List<View> listView; public MyPagerAdapter(List<View> listView){ this.listView=listView; } /** * 返回的是页卡的数量 */ @Override public int getCount() { return listView.size(); } /** * View是否来自对象 */ @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } /** * 实例化一个页卡 */ @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(listView.get(position)); return listView.get(position); } /** * 销毁一个页卡 */ @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(listView.get(position)); } }
    查看全部
  • 适配器PagerAdapter I private ViewPager vp; private List<View> viewList; @Override protected void onCreate(Bundle savedInstanceState) { ... vp=(ViewPager) findViewById(R.id.vp); /** * 通过View对象去作为ViewPager的数据源 */ View view1=View.inflate(this, R.layout.view1, null);//第三个参数root写null就行 View view2=View.inflate(this, R.layout.view2, null); View view3=View.inflate(this, R.layout.view3, null); View view4=View.inflate(this, R.layout.view4, null); viewList=new ArrayList<View>(); viewList.add(view1); viewList.add(view2); viewList.add(view3); viewList.add(view4); //创建PagerAdapter的适配器并加载 MyPagerAdapter adapter=new MyPagerAdapter(viewList); vp.setAdapter(adapter); } //布局 <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"> </android.support.v4.view.ViewPager>
    查看全部
  • 在ViewPager中去加载页卡: --将Layout布局转换为View对象 1.LayoutInflater if=getLayoutInflater().from(this); if.inflate(resource,root); 2.View.inflate(context,resource,root); 配置适配器: 1.PagerAdapter: 数据源:List<View> 2.FragmentPagerAdapter: 数据源:List<Fragment> 3.FragmentStatePagerAdapter 数据源:List<Fragment>
    查看全部
    0 采集 收起 来源:认识ViewPager

    2018-03-22

  • Fragment与Activity通信: activity---Fragment:在activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法 Fragment--Activity:需要在Fragment中定义一个内部回调接口,在让包含该Fragment的Activity实现该回调接口,这样Fragment可调用该回调方法将数据传递给Activity //动态加载 activity向fragment传值 String text = textView.getText().toString(); MyFragment5 fragment5 = new MyFragment5(); Bundle bundle = new Bundle(); bundle.putString("name", text); fragment5.setArguments(bundle); FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); transaction.add(R.id.layout, fragment5, "fragment5"); transaction.commit();//最后不要忘记提交 //静态加载 activity向fragment传值 FragmentManager fragmentManager = getFragmentManager(); Fragment fragment = fragmentManager.findFragmentById(R.id.frag); MyFragment2 myFragment2 = (MyFragment2)fragment; myFragment2.setAa(" activity向fragment传值Hello");
    查看全部
  • 二、使用ViewStub标签来加载一些不常用的布局 作用:Viewstub标签同include标签一样可以用来引入一个外部布局,不同的是,Viewstub引入的布局默认不会扩张, 既不会占用显示也不会占用位置,从而在解析layout时节省cpu和内存 ViewStub:其作用和include一致,都是可以引入公共布局。区别是:ViewStub默认是不会加载到CPU的,只有当用户触发某些事件才会使得ViewStub加载出来。而include是直接加载到CPU的。
    查看全部
  • spinner2
    查看全部
    0 采集 收起 来源:课程目标

    2016-03-10

  • spinner
    查看全部
    0 采集 收起 来源:课程目标

    2016-03-10

  • Activity向Fragment传递数据 MyFragment3 myFragment3 = new MyFragment3(); FragmentManager fragmentManager1 = getFragmentManager(); FragmentTransaction beginTransaction1 = fragmentManager1.beginTransaction(); Bundle bundle=new Bundle(); String str=et.getText().toString(); bundle.putString("name", str); myFragment3.setArguments(bundle); beginTransaction1.add(R.id.frame, myFragment3, "myFragment3");//第三个参数tag目前这里还用不到 beginTransaction1.addToBackStack("null"); beginTransaction1.commit(); Toast.makeText(MainActivity4.this, "已发送数据:"+str, 1).show(); public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment, container,false); TextView text=(TextView) view.findViewById(R.id.text); String str=getArguments().getString("name"); text.setText(str); Toast.makeText(getActivity(), "接收到的数据:"+str, 1).show();//注意这里第一参数使用getActivity() return view; }
    查看全部
  • GridView关键属性
    查看全部
    0 采集 收起 来源:监听事件

    2016-03-10

  • 数据适配器:<br> 就是将复杂的数据(数组、链表、数据库、集合等)填充在指定的视图界面上 两种数组适配器:arrayadapter(数组适配器):用于绑定格式单一的数据 数据源:可以是集合也可以是数组。 SimpleAdapter(简单适配器):用于绑定格式复杂的数据 数据源:只能是特定泛型的集合 数据适配器是链接数据源和视图界面的桥梁 实现过程:创建适配器--》添加数据源到适配器--》视图加载适配器
    查看全部
    0 采集 收起 来源:解读适配器

    2018-03-22

举报

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

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