Browse Source

Optimize MainActivity list view appearance

An An 4 years ago
parent
commit
358a17169d

+ 31 - 17
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/basiccontent/MyBaseExpandableListAdapter.kt

@@ -1,18 +1,37 @@
 package com.github.aachartmodel.aainfographics.demo.basiccontent
 
 import android.content.Context
+import android.graphics.Color
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.BaseExpandableListAdapter
-import android.widget.ImageView
 import android.widget.TextView
 import com.github.aachartmodel.aainfographics.demo.R
 
 class MyBaseExpandableListAdapter(
     private val gData: Array<String>,
     private val iData: Array<Array<String>>,
-    private val mContext: Context
+    private val mContext: Context,
+    private val colorsArr: Array<String> = arrayOf("#5470c6",
+        "#91cc75",
+        "#fac858",
+        "#ee6666",
+        "#73c0de",
+        "#3ba272",
+        "#fc8452",
+        "#9a60b4",
+        "#ea7ccc",
+        "#5470c6",
+        "#91cc75",
+        "#fac858",
+        "#ee6666",
+        "#73c0de",
+        "#3ba272",
+        "#fc8452",
+        "#9a60b4",
+        "#ea7ccc"
+    )
 ) :
     BaseExpandableListAdapter() {
     override fun getGroupCount(): Int {
@@ -56,14 +75,11 @@ class MyBaseExpandableListAdapter(
             convertView = LayoutInflater.from(mContext).inflate(
                 R.layout.item_exlist_group, parent, false
             )
-            groupHolder =
-                ViewHolderGroup()
-            groupHolder.tv_group_name =
-                convertView.findViewById<View>(R.id.tv_group_name) as TextView
+            groupHolder = ViewHolderGroup()
+            groupHolder.tv_group_name = convertView.findViewById<View>(R.id.tv_group_name) as TextView
             convertView.tag = groupHolder
         } else {
-            groupHolder =
-                convertView.tag as ViewHolderGroup
+            groupHolder = convertView.tag as ViewHolderGroup
         }
         groupHolder.tv_group_name!!.text = gData[groupPosition]
         return convertView
@@ -83,19 +99,17 @@ class MyBaseExpandableListAdapter(
             convertView = LayoutInflater.from(mContext).inflate(
                 R.layout.item_exlist_item, parent, false
             )
-            itemHolder =
-                ViewHolderItem()
-            itemHolder.img_icon =
-                convertView.findViewById<View>(R.id.img_icon) as ImageView
-            itemHolder.tv_name =
-                convertView.findViewById<View>(R.id.tv_name) as TextView
+            itemHolder = ViewHolderItem()
+            itemHolder.tv_color_dot = convertView.findViewById<View>(R.id.tv_color_dot) as TextView
+            itemHolder.tv_name = convertView.findViewById<View>(R.id.tv_name) as TextView
             convertView.tag = itemHolder
         } else {
             itemHolder =
                 convertView.tag as ViewHolderItem
         }
-        //        itemHolder.img_icon.setImageResource(iData.get(groupPosition).get(childPosition).get);
-        itemHolder.tv_name!!.text = iData[groupPosition][childPosition]
+        val colorStr = colorsArr[groupPosition]
+        itemHolder.tv_color_dot?.setTextColor(Color.parseColor(colorStr))
+        itemHolder.tv_name?.text = iData[groupPosition][childPosition]
         return convertView
     }
 
@@ -109,7 +123,7 @@ class MyBaseExpandableListAdapter(
     }
 
     private class ViewHolderItem {
-        var img_icon: ImageView? = null
+        var tv_color_dot: TextView? = null
         var tv_name: TextView? = null
     }
 

+ 1 - 1
sample/src/main/res/layout/activity_main.xml

@@ -9,6 +9,6 @@
             android:id="@+id/exlist_lol"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:childDivider="#E02D2F"/>
+            android:childDivider="#D5D5D5"/>
 
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 12 - 8
sample/src/main/res/layout/item_exlist_group.xml

@@ -6,13 +6,17 @@
     android:padding="5dp">
 
     <TextView
-        android:id="@+id/tv_group_name"
-        android:layout_width="match_parent"
-        android:layout_height="56dp"
-        android:gravity="center_vertical"
-        android:paddingLeft="30dp"
-        android:text="AP"
-        android:textStyle="bold"
-        android:textSize="20sp" />
+            android:id="@+id/tv_group_name"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:layout_marginBottom="8dp"
+            android:gravity="center_vertical"
+            android:paddingLeft="30dp"
+            android:text="AP"
+            android:textStyle="bold"
+            android:textSize="20sp"
+            android:textColor="#000000"
+    />
 
 </LinearLayout>

+ 26 - 20
sample/src/main/res/layout/item_exlist_item.xml

@@ -1,26 +1,32 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="horizontal"
-    android:padding="5dp"
-    android:background="#6BBA79">
-
-    <ImageView
-        android:id="@+id/img_icon"
-        android:layout_width="48dp"
-        android:layout_height="48dp"
-        android:src="@android:color/holo_blue_bright"
-        android:focusable="false"/>
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:orientation="horizontal"
+              android:padding="5dp"
+              android:background="#ffffff">
+    <TextView
+            android:id="@+id/tv_color_dot"
+            android:layout_width="48dp"
+            android:layout_height="match_parent"
+            android:textSize="28dp"
+            android:text="◉"
+            android:gravity="center_vertical|center"
+    ></TextView>
 
     <TextView
-        android:id="@+id/tv_name"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="15dp"
-        android:layout_marginTop="15dp"
-        android:focusable="false"
-        android:text="提莫"
-        android:textSize="18sp" />
+            android:id="@+id/tv_name"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="5dp"
+            android:layout_marginRight="5dp"
+            android:layout_marginTop="5dp"
+            android:layout_marginBottom="5dp"
+            android:focusable="false"
+            android:text="图表名称"
+            android:gravity="center_vertical|left"
+            android:textSize="18sp"
+            android:textColor="#123456"
+    />
 
 </LinearLayout>