draggrid简单用法——实现频道管理
来源:互联网 发布:手机淘宝怎么修改地址 编辑:程序博客网 时间:2024/06/02 06:37
1:导入依赖到自己工程下的gradle
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 void button(View view){
if (list ==null){//判断集合中是否已有数据,没有则创建
list =new ArrayList<>();
//第一个是显示的条目,第二个参数是否显示
list.add(new ChannelBean("热点",true));
list.add(new ChannelBean("军事",true));
list.add(new ChannelBean("八卦",true));
list.add(new ChannelBean("游戏",true));
list.add(new ChannelBean("宠物",true));
list.add(new ChannelBean("汽车",false));
list.add(new ChannelBean("热卖",false));
list.add(new ChannelBean("外卖",false));
list.add(new ChannelBean("条目1",false));
list.add(new ChannelBean("条目2",false));
list.add(new ChannelBean("条目3",false));
list.add(new ChannelBean("条目4",false));
ChannelActivity.startChannelActivity(MainActivity.this, list);
}else if (jsonStr!=null){//当判断保存的字符串不为空的时候,直接加载已经有了的字符串
ChannelActivity.startChannelActivity(MainActivity.this,jsonStr);
}
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==ChannelActivity.REQUEST_CODE&&resultCode==ChannelActivity.RESULT_CODE) {
jsonStr = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);
} }
上方参数中显示为true,将会在频道管理中,我的频道里。
显示为false的将会在其他频道显示
————————————————分割线——————————————————
权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.VIBRATE"></uses-permission><application android:allowBackup="true"
布局:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwie.draggriddemo.MainActivity"> <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="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>
MainActivity :
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TabLayout mMytab; private ImageButton mImgBtn; private ArrayList<ChannelBean> channelBeens; String jsonStr = ""; private Gson gson; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } 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("条目1",true)); channelBeens.add(new ChannelBean("条目2",true)); channelBeens.add(new ChannelBean("条目3",false)); channelBeens.add(new ChannelBean("条目4",false)); channelBeens.add(new ChannelBean("条目5",false)); channelBeens.add(new ChannelBean("条目6",false)); channelBeens.add(new ChannelBean("条目7",false)); channelBeens.add(new ChannelBean("条目8",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())); } } } private void initView() { mMytab = (TabLayout) findViewById(R.id.mytab); mImgBtn = (ImageButton) findViewById(R.id.imgBtn); mImgBtn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.imgBtn: ChannelActivity.startChannelActivity(MainActivity.this,channelBeens); 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表示是频道管理回调回来的 jsonStr = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);//得到栏目管理的结果 Toast.makeText(this,jsonStr,Toast.LENGTH_SHORT).show(); Log.i("main",jsonStr); 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())); } } } }}
- draggrid简单用法——实现频道管理
- DragGrid频道管理
- Draggrid 频道管理
- draggrid简单用法
- draggrid简单用法
- draggrid的简单实现
- 使用 draggrid 实现 仿今日头条频道管理(详细步骤)
- 简单实现频道管理
- 频道管理的简单用法
- 频道管理的简单实现
- 频道管理简单使用
- 快速实现频道管理
- RecyclerView实现频道管理
- Android_Recyclerview实现频道管理
- 实现频道管理
- 实现频道管理
- 频道管理的简单使用
- 频道管理简单的处理
- socket调试小工具(python)
- 设置SD卡中的铃声后拔出SD卡铃声显示为未知铃声
- leveldb Arena学习
- Unity Android 交互 三 多个Module分别生成 arr 导入Unity自动合并AndroidManifest.xml
- 信数金服决策引擎分享(一):来聊聊冠军/挑战者试验,一个数字游戏
- draggrid简单用法——实现频道管理
- 实战 | 单词拼写纠正器python实现
- python—2
- [LUOGU1017] 进制转换
- 连载 | 理解线性代数03 Ax = b 无解情形
- ECharts饼图属性的学习
- ORDER BY LIMIT 0,1意思
- 心得,python2
- 深入dubbo之ExtensionLoader,灵活的扩展点加载机制