//首先定义布局
<android.support.design.widget.TabLayout android:id="@+id/mytab" app:tabMode="scrollable" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ImageButton android:id="@+id/imgBtn" android:src="@mipmap/add_recipients_normal" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_width="35dp" android:layout_height="35dp" />//如何使用DragGrid的呢?
1:导入依赖到自己工程下的gradle
compile 'com.github.andyoom:draggrid:v1.0.1'
2.在项目的build.gradle中添加
allprojects {
maven {url "https://jitpack.io"}
3.权限
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 震动权限 -->
<uses-permission android:name="android.permission.VIBRATE"/>
public class Four extends Fragment implements View.OnClickListener{ private TabLayout mMytab; private ImageButton mImgBtn; private ArrayList<ChannelBean> channelBeens; String jsonStr = ""; private Gson gson; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.f4, container, false); mMytab = (TabLayout) view.findViewById(R.id.mytab); mImgBtn = (ImageButton)view. findViewById(R.id.imgBtn); mImgBtn.setOnClickListener(this); initData(); return view; } private void initData(){ //准备栏目数据 channelBeens = new ArrayList<ChannelBean>(); channelBeens.add(new ChannelBean("慧爷餐厅",true)); channelBeens.add(new ChannelBean("军事",true)); channelBeens.add(new ChannelBean("八卦",true)); channelBeens.add(new ChannelBean("游戏",true)); channelBeens.add(new ChannelBean("宠物",true)); channelBeens.add(new ChannelBean("汽车",true)); channelBeens.add(new ChannelBean("热卖",true)); channelBeens.add(new ChannelBean("外卖",true)); channelBeens.add(new ChannelBean("时尚",true)); channelBeens.add(new ChannelBean("育儿",true)); channelBeens.add(new ChannelBean("科技",false)); channelBeens.add(new ChannelBean("趣图",false)); channelBeens.add(new ChannelBean("汽车",false)); channelBeens.add(new ChannelBean("财经",false)); channelBeens.add(new ChannelBean("段子",false)); channelBeens.add(new ChannelBean("健康",false)); //把选择的栏目(true)数据配置给tablayout for (int i=0;i<channelBeens.size();i++){ if(channelBeens.get(i).isSelect()){ mMytab.addTab(mMytab.newTab().setText(channelBeens.get(i).getName())); } } } @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.imgBtn: ChannelActivity.startChannelActivity((AppCompatActivity) getActivity(),channelBeens); break; } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == ChannelActivity.REQUEST_CODE && resultCode == ChannelActivity.RESULT_CODE){//为true表示是频道管理回调回来的 jsonStr = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);//得到栏目管理的结果 mMytab.removeAllTabs();//清空之前的栏目 //把新选择的栏目结果更新到tablayout上 gson = new Gson(); //进行json解析 Type type= new TypeToken<ArrayList<ChannelBean>>(){}.getType(); channelBeens = gson.fromJson(jsonStr,type); //遍历结果,更新tablayout for (int i=0;i<channelBeens.size();i++){ if(channelBeens.get(i).isSelect()){ mMytab.addTab(mMytab.newTab().setText(channelBeens.get(i).getName())); } } } } }