Draggrid 频道管理
来源:互联网 发布:汽车用品淘宝 编辑:程序博客网 时间:2024/05/18 09:08
1.导入依赖到自己Gradle中
compile 'com.github.andyoom:draggrid:v1.0.1'
2.在项目的build.gradle中添加
allprojects {
repositories {
jcenter()
//下面这句才是加上的,上面的自带 的
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"/>
4:在Activity下主要代码:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TabLayout mTab; private ImageButton mImbtn; ArrayList<ChannelBean> channelBeanList; private String stringExtra;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } //tab展示数据 private void initData() { channelBeanList=new ArrayList<ChannelBean>(); channelBeanList.add(new ChannelBean("热点",true)); channelBeanList.add(new ChannelBean("军事",true)); channelBeanList.add(new ChannelBean("八卦",true)); channelBeanList.add(new ChannelBean("游戏",true)); channelBeanList.add(new ChannelBean("宠物",true)); channelBeanList.add(new ChannelBean("汽车",false)); channelBeanList.add(new ChannelBean("热卖",false)); channelBeanList.add(new ChannelBean("外卖",false)); channelBeanList.add(new ChannelBean("条目1",false)); channelBeanList.add(new ChannelBean("条目2",false)); channelBeanList.add(new ChannelBean("条目3",false)); channelBeanList.add(new ChannelBean("条目4",false)); //遍历给Tablayout赋值 for (int i = 0; i < channelBeanList.size(); i++) { mTab.addTab(mTab.newTab().setText(channelBeanList.get(i).getName())); } } private void initView() { mTab = (TabLayout) findViewById(R.id.tab); mImbtn = (ImageButton) findViewById(R.id.imbtn); mImbtn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.imbtn: ChannelActivity.startChannelActivity(MainActivity.this,channelBeanList); break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode==ChannelActivity.REQUEST_CODE&&resultCode==ChannelActivity.RESULT_CODE){//如果为TRUE表示频道管理回调回来的 stringExtra = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);//得到栏目管理结果 mTab.removeAllTabs();//清空之前栏目 Gson gson = new Gson();//进行gson解析 Type type = new TypeToken<ArrayList<ChannelBean>>() {}.getType(); channelBeanList=gson.fromJson(stringExtra,type); //遍历结果更新tablayout for (int i = 0; i <channelBeanList.size() ; i++) { if (channelBeanList.get(i).isSelect()){ mTab.addTab(mTab.newTab().setText(channelBeanList.get(i).getName())); } } } }}
5:XML布局文件:
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <android.support.design.widget.TabLayout android:id="@+id/tab" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" app:tabMode="scrollable" /> <ImageButton android:id="@+id/imbtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/channel_glide" /></LinearLayout>
阅读全文
0 0
- DragGrid频道管理
- Draggrid 频道管理
- draggrid简单用法——实现频道管理
- 使用 draggrid 实现 仿今日头条频道管理(详细步骤)
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- 频道管理
- WEEX,一次撰写,多端运行
- 洛谷 P1597 语句解析
- 伪知识之了解数据库中外键主键的区别以及含义持续更新:【内向即失败--王奕君】
- 手势识别代码详细说明2(衔接上一篇)
- 在Windows下编译Mapnik的依赖库
- Draggrid 频道管理
- 滑动窗口中的最大值
- 协调世界时转换为GPS周秒
- 。。。
- Linux中的文件IO
- 《Recent Advances in Convolutional Neural Networks》(一)
- 大神前端博客
- next_permutation
- vue.js移动端从一个购物车入门vuex环境搭建