JsonFormat 弹窗控件

本文介绍了如何创建一个JsonFormat弹窗控件,详细阐述了使用说明、实现思路及关键代码实现。通过动态添加和处理嵌套数据,构建一个自定义DialogFragment,使用RecyclerView并关闭复用功能。在Adapter实现前,需要准备ItemView布局,限制子View的最大宽度,并配置支持矢量图的兼容性。
摘要由CSDN通过智能技术生成

清明也不知道干啥继续,之前的博客使用介绍,这里详细写下吧,本来以为做这个会有点工作量,做了才发现就2-3个小时工时。放假回去 放项目里 当开发版 可视化测试工具用用。

使用说明

Json 数据来自百度天气例子,工程已经上传到jcenter了,使用android studio可以方便的添加依赖compile 'com.anarchy.lib:library:0.5.0'
使用方式如下:

try {
            /*json 数据 来自 http://apistore.baidu.com/apiworks/servicedetail/515.html*/
            InputStream in =  getAssets().open("json");
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            StringBuffer buffer = new StringBuffer();
            String temp;
            while ((temp =reader.readLine())!=null){
                buffer.append(temp);
            }
            JsonFormatDialogFragment.newInstance(buffer.toString()).show(getSupportFragmentManager(),"");
        } catch (IOException e) {
            e.printStackTrace();
        }

实现思路

开始默认解析第一层数据,对于下一层数据,动态添加。如果已经添加过,就调用 View 的显示隐藏去改变数据。
最后效果是这样的:

  • 弹窗就是一个DialogFragment,不过没有使用默认样式,稍微改了下样式。其实使用默认的弹窗也一样。

最外层使用了一个 RecyclerView,不用这个外边套一个scrollview 也可以。虽然使用RecyclerView,不过我把复用功能关闭了-。-。

主要 逻辑代码其实就在adapter里实现,在实现adapter之前有几个部分需要先准备一下。

1.ItemView 看效果其实每个item组成 都一样 左边一个文字,中间一个图片,右边也是一个文字。所以构造ItemView 的xml 布局文件如下:

<com.anarchy.library.widget.MyLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                           android:id="@+id/root_view"
                                           android:layout_width="match_parent"
                                           android:layout_height="wrap_content"
                                           android:orientation="vertical">
    <LinearLayout
        android:orientation="horizontal"
        android:gravity="center_vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:visibility="gone"
            android:id="@+id/text_left"
            android:textSize="12sp"
            android:layout_width
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值