IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 九宫格排版 -> 正文阅读

[移动开发]Android 九宫格排版

    OkGo.<XingQuBean>get(Const.Xingqu)
                .tag(this)
                .execute(new BeanCallbackNoPop<XingQuBean>() {
                    private List<XingQuBean.DataBean> list0;
                    private List<XingQuBean.DataBean> list1;
                    private List<XingQuBean.DataBean> list2;
                    private List<XingQuBean.DataBean> list3;
                    private List<XingQuBean.DataBean> list4;
                    private List<XingQuBean.DataBean> list5;
                    private List<XingQuBean.DataBean> list6;

                    @Override
                    public XingQuBean convertResponse(Response response) throws Throwable {
                        String string = response.body().string();
                        JSONObject jsonObject = new JSONObject(string);
                        int code = jsonObject.getInt("code");
                        System.out.println(string);
                        if (code == 200) {
                            return new Gson().fromJson(string, XingQuBean.class);
                        }
                        return super.convertResponse(response);
                    }

                    @Override
                    public void onSuccess(com.lzy.okgo.model.Response<XingQuBean> response) {
                        super.onSuccess(response);
                        XingQuBean body = response.body();
                        if (body != null) {
                            List<XingQuBean.DataBean> data = body.getData();

                            List<Object> colorLists = new ArrayList<>();
                            for (int i = 0; i < 14; i++) {
                                if (i == 1) {
                                    colorLists.add(new String[]{"#F3C736", "#E98C2B"});
                                } else if (i == 2) {
                                    colorLists.add(new String[]{"#7C58F6", "#9122EF"});
                                } else if (i == 5) {
                                    colorLists.add(new String[]{"#EE963A", "#E9564D"});
                                } else if (i == 6) {
                                    colorLists.add(new String[]{"#775BEF", "#8E24F4"});
                                } else if (i == 9) {
                                    colorLists.add(new String[]{"#5CE4A3", "#55CCD9"});
                                } else if (i == 10) {
                                    colorLists.add(new String[]{"#5B99F7", "#586FFB"});
                                } else {
                                    colorLists.add(R.color.white);
                                }
                            }
                            colorLists.addAll(colorLists);
                            List<List<XingQuBean.DataBean>> listAlls = new ArrayList<>();

                            // 规律  个数 123 2 321
                            for (int i = 0; i < data.size(); i++) {
                                int a = i % 14;
                                switch (a) {
                                    case 0:
                                        list0 = new ArrayList<>(); // 0
                                        list0.add(data.get(i));
                                        listAlls.add(list0);
                                        break;
                                    case 1:
                                        list1 = new ArrayList<>(); // 1
                                        list1.add(data.get(i));
                                        break;
                                    case 2:
                                        list1.add(data.get(i));
                                        listAlls.add(list1);
                                        break;
                                    case 3:
                                        list2 = new ArrayList<>(); // 2
                                        list2.add(data.get(i));
                                        break;
                                    case 4:
                                        list2.add(data.get(i));
                                        break;
                                    case 5:
                                        list2.add(data.get(i));
                                        listAlls.add(list2);
                                        break;
                                    case 6:
                                        list3 = new ArrayList<>(); // 3
                                        list3.add(data.get(i));
                                        break;
                                    case 7:
                                        list3.add(data.get(i));
                                        listAlls.add(list3);
                                        break;
                                    case 8:
                                        list4 = new ArrayList<>(); //4
                                        list4.add(data.get(i));
                                        break;
                                    case 9:
                                        list4.add(data.get(i));
                                        break;
                                    case 10:
                                        list4.add(data.get(i));
                                        listAlls.add(list4);
                                        break;
                                    case 11:
                                        list5 = new ArrayList<>();
                                        list5.add(data.get(i));
                                        break;
                                    case 12:
                                        list5.add(data.get(i));
                                        listAlls.add(list5);
                                        break;
                                    case 13:
                                        list6 = new ArrayList<>();
                                        list6.add(data.get(i));
                                        listAlls.add(list6);
                                        break;
                                    default:
                                        break;
                                }
                            }


                            int llWidth = ScreenUtils.getScreenWidth() * 2 / 9;
                            int colorIndex = 0;
                            for (int i = 0; i < listAlls.size(); i++) {
                                List<XingQuBean.DataBean> dataBeans = listAlls.get(i);
                                LinearLayout linearLayout = new LinearLayout(mContext);
                                linearLayout.setGravity(Gravity.CENTER);
                                linearLayout.setOrientation(LinearLayout.HORIZONTAL);
                                linearLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                                for (int j = 0; j < dataBeans.size(); j++) {
                                    XingQuBean.DataBean dataBean = dataBeans.get(j);
                                    TextView textView = new TextView(mContext);
                                    textView.setText(dataBean.getType_name());
                                    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(llWidth, LinearLayout.LayoutParams.WRAP_CONTENT);
                                    textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
                                    textView.setTextColor(getResources().getColor(R.color.black_8a));
                                    layoutParams.leftMargin = 30;
                                    layoutParams.rightMargin = 30;
                                    layoutParams.topMargin = 20;
                                    layoutParams.bottomMargin = 20;
                                    textView.setPadding(20, 10, 20, 10);

                                    Object o = colorLists.get(colorIndex);
                                    if (o instanceof Integer) {
                                        DevShapeUtils.shape(DevShape.RECTANGLE)
                                                .line(1, R.color.black_8a)
                                                .solid((Integer) o)
                                                .radius(16)
                                                .into(textView);
                                    } else {
                                        String[] o1 = (String[]) o;
                                        DevShapeUtils.shape(DevShape.RECTANGLE)
                                                .line(1, R.color.black_8a)
                                                .gradientLinear(o1[0], o1[1])
                                                .orientation(DevShape.LEFT_RIGHT)
                                                .radius(16)
                                                .into(textView);
                                    }
                                    colorIndex++;

                                    linearLayout.addView(textView);
                                }
                                mViewBinding.llcenter.addView(linearLayout);
                            }
                        }
                    }
                });

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:33:45  更:2022-05-11 16:34:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 1:54:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码