Android 新support库大集结

    Android近两年推出了许多新的Support,里面不缺一些实用流行的控件,一些新的控件都是遵循谷歌的材料设计,以下一一说明:

源代码地址: https://github.com/smallnew/android-support-demo   

一、RecycleView

    新suuport里最实用的控件,完全可以取代ListView和GridView,主要有这几点特性:1、RecycleView自带ViewHodler接口规范,比ListView更加规范,人性化,写起来更带感!! 

2、RecycleView可以通过RecyclerView.LayoutManager设置为网格显示、瀑布流显示、横向显示 

3、官方号称效率更高,速度更快 

4、自带删除、添加item的动画 

5、通过SwipeRefreshLayout可以实现下拉刷新

编写Adapter:

<span style="font-size:14px;">    public class RecAdapter extends RecyclerView.Adapter<RecAdapter.RecViewHodler> {

        List<String> data = new ArrayList<String>();
        int[] colors = new int[]{};

        public RecAdapter(List<String> list) {
            data = list;
        }

        //RecyclerView规范ViewHolder生成函数
        @Override
        public RecViewHodler onCreateViewHolder(ViewGroup viewGroup, int i) {
            View view = LayoutInflater.from(getActivity()).inflate(R.layout.item_recyle, null);
            TextView tv = (TextView) view.findViewById(R.id.tv_recyle_test);
            tv.setTextColor(Color.BLACK);
            return new RecViewHodler(view);
        }

        @Override
        public int getItemCount() {
            return data.size();
        }

        //RecyclerView规范ViewHolder逻辑函数
        @Override
        public void onBindViewHolder(RecViewHodler recViewHodler, int i) {
            recViewHodler.mTv.setText(data.get(i));
        }

        //继承于RecyclerView规范的ViewHolder
        public class RecViewHodler extends RecyclerView.ViewHolder {
            TextView mTv;

            public RecViewHodler(View itemView) {
                super(itemView);
                mTv = (TextView) itemView.findViewById(R.id.tv_recyle_test);
            }
        }
    }</span>


初始化RecycleView:

<span style="font-size:14px;">       recyclerView = (RecyclerView) layout.findViewById(R.id.recycler_view);
        recyclerView.setHasFixedSize(true);//一个优化项,RecyclerView是否因Adapter变化而变化
        mLayoutManager = new LinearLayoutManager(getActivity());//此处为单行显示item,也可为网格GridLayoutManager
        recyclerView.setLayoutManager(mLayoutManager);
        recyclerView.setAdapter(mAdapter);//适配器</span>


使用动画:

<span style="font-size:14px;">                    data.remove(0);
                    mAdapter.notifyItemRemoved(0);
                data.add(index, "YOU ADD");
                mAdapter.notifyItemInserted(index);</span>

二、 DrawerLayout 和NavigationView

侧边菜单组合,新的Android studio就有模板,一般一起用


三、CoordinatorLayout AppBarLayout Toolbar

增强型ActionBar,有根据滚动情况拉伸收缩的头部布局,新的Android studio也有模板





四、TabLayout

跟以前默认的Tab最大的区别在于:滑动的时候,tab的下划线实时跟着滑动,而不是到了一个阀值才开始滑动

 <android.support.design.widget.TabLayout
            android:id="@+id/tab_layout"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:background="?attr/colorPrimaryDark"></android.support.design.widget.TabLayout>
        mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(0)));
        mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(1)));
        mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(2)));
        mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(3)));
        mViewPager.setAdapter(adapter);
        //important
        mTabLayout.setupWithViewPager(mViewPager);
        mTabLayout.setTabsFromPagerAdapter(adapter);


五、PercentRelativeLayout PercentFrameLayout

百分比布局,PercentRelativeLayout 继承于RelativeLayout,PercentFrameLayout继承于FrameLayout,主要添加了百分比的参数,你可以按照高或者宽的比例来定义子控件大小,有大牛也实现了PercentLinerLayout

    <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentTop="true"
        android:background="#5182bb"
        app:layout_marginLeftPercent="15%"
        app:layout_heightPercent="15%"
        app:layout_widthPercent="30%" />

六、    其他

FloatingActionButton 浮动按钮  

Palette 调色板 

TextInputLayou 新的输入框交互  

Snackbar 类似Toast,有action,不会一直弹

这几个实际项目比较少用的控件,使用也比较简单


源代码地址: https://github.com/smallnew/android-support-demo   

源代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值