ソースを参照

期货行情页面item,页面调整

ProGo 4 年 前
コミット
e88046a5df

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/BaseFragment.kt

@@ -84,7 +84,7 @@ abstract class BaseFragment<VM : BaseViewModel> : Fragment() {
             val tClass = tp as? Class<VM> ?: BaseViewModel::class.java
             viewModel = ViewModelProvider(viewModelStore, defaultViewModelProviderFactory)
                 .get(tClass) as VM
-            viewModel.context = context!!
+            viewModel.context = context
         }
     }
 

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/BaseViewModel.kt

@@ -22,7 +22,7 @@ open class BaseViewModel(
     application: Application = Utils.getApp()
 ) : AndroidViewModel(application), LifecycleObserver {
 
-    lateinit var context: Context
+    var context: Context? = null
 
     val defUI: UIChange by lazy { UIChange() }
 

+ 5 - 29
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/BaseFutureModel.kt

@@ -24,17 +24,19 @@ class BaseFutureModel: BaseViewModel() {
     /**
      * 解耦+统一布局样式
      */
-    fun qmuiTabSegmentConfig(idTab: QMUITabSegment?, viewPager: ViewPager?, tabFragments: Array<Fragment>, tabs: Array<String?>, context: Context): QMUITabBuilder? {
+    fun qmuiTabSegmentConfig(idTab: QMUITabSegment?,
+                             textSize: Int,
+                             context: Context?): QMUITabBuilder? {
 
         idTab?.setIndicator(QMUITabIndicator(QMUIDisplayHelper.dp2px(context, 2), false, true))
         val space: Int = QMUIDisplayHelper.dp2px(context, 10)
 
         idTab?.setItemSpaceInScrollMode(space)
         idTab?.setPadding(space, 0, space, 0)
-        idTab?.mode = QMUITabSegment.MODE_FIXED
+        idTab?.mode = QMUITabSegment.MODE_SCROLLABLE
         idTab?.right = space
 
-        val size: Int = QMUIDisplayHelper.sp2px(context, 15)
+        val size: Int = QMUIDisplayHelper.sp2px(context, textSize)
         val builder = idTab?.tabBuilder()
         builder?.skinChangeWithTintColor(false)?.
         setSelectedDrawable(ColorDrawable())?.
@@ -42,32 +44,6 @@ class BaseFutureModel: BaseViewModel() {
         setTextSize(size, size)?.
         setDynamicChangeIconColor(false)
 
-        //
-        var fManager: FragmentManager? = null
-        if (context is Fragment) {
-            fManager = context.childFragmentManager
-        } else if (context is FragmentActivity) {
-            fManager = context.supportFragmentManager
-        }
-        viewPager?.adapter = object : FragmentPagerAdapter(
-            fManager!!,
-            BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
-        ) {
-            @NonNull
-            override fun getItem(position: Int): Fragment {
-                return tabFragments[position]
-            }
-
-            override fun getCount(): Int {
-                return tabFragments.size
-            }
-
-            @Nullable
-            override fun getPageTitle(position: Int): CharSequence? {
-                return tabs[position]
-            }
-        }
-        idTab?.setupWithViewPager(viewPager, false)
         return builder
     }
 }

+ 25 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/FutureFragment.kt

@@ -9,12 +9,15 @@ import android.view.ViewGroup
 import androidx.annotation.NonNull
 import androidx.annotation.Nullable
 import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+import androidx.fragment.app.FragmentManager
 import androidx.fragment.app.FragmentPagerAdapter
 import androidx.viewpager.widget.ViewPager
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.view.MyApplication
 import cn.muchinfo.rma.view.base.BaseFragment
 import cn.muchinfo.rma.view.base.future.market.FutureMarket
+import cn.muchinfo.rma.view.base.future.market.MarketFragment
 import com.google.android.material.tabs.TabLayout
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
 import com.qmuiteam.qmui.widget.tab.QMUITabIndicator
@@ -64,13 +67,33 @@ class FutureFragment : BaseFragment<FutureViewModel>() {
         idPager = _view?.findViewById(R.id.id_pager)
 
         // 设置
-        val builder = BaseFutureModel().qmuiTabSegmentConfig(idTab, idPager, tabFragments, tabs, context!!)
-
+        val builder = BaseFutureModel().qmuiTabSegmentConfig(idTab, 15, context)
+        idTab?.mode = QMUITabSegment.MODE_FIXED
         // 加载数据
         for (cat in tabs) {
             val item = builder?.setText(cat)?.build(context)
             idTab?.addTab(item)
         }
+
+        idPager?.adapter = object : FragmentPagerAdapter(
+            childFragmentManager,
+            BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
+        ) {
+            @NonNull
+            override fun getItem(position: Int): Fragment {
+                return tabFragments[position]
+            }
+
+            override fun getCount(): Int {
+                return tabFragments.size
+            }
+
+            @Nullable
+            override fun getPageTitle(position: Int): CharSequence? {
+                return tabs[position]
+            }
+        }
+        idTab?.setupWithViewPager(idPager, false)
         idTab?.addOnTabSelectedListener(object : QMUITabSegment.OnTabSelectedListener {
             /**
              * 当某个 Tab 被选中时会触发

+ 38 - 12
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/market/FutureMarket.kt

@@ -4,7 +4,10 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.annotation.NonNull
+import androidx.annotation.Nullable
 import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentPagerAdapter
 import androidx.viewpager.widget.ViewPager
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.view.MyApplication
@@ -30,14 +33,23 @@ class FutureMarket : BaseFragment<FutureMarketModel>() {
     //region 数据
     // tab 值
     private val tabs = arrayOf(
-        MyApplication.getInstance()?.resources?.getString(R.string.str_choose)
+        MyApplication.getInstance()?.resources?.getString(R.string.str_choose),
+        "主力",
+        "上期所",
+        "大商所",
+        "郑商所",
+        "上期能源",
+        "下期再见"
     )
     // 页面,和对应的tab对应
     private val tabFragments: Array<Fragment> = arrayOf(
-        MarketFragment.getInstance(),
-        MarketFragment.getInstance(),
-        MarketFragment.getInstance(),
-        MarketFragment.getInstance()
+        MarketFragment.getInstance(MyApplication.getInstance()?.resources?.getString(R.string.str_choose)!!),
+        MarketFragment.getInstance("主力"),
+        MarketFragment.getInstance("上期所"),
+        MarketFragment.getInstance("大商所"),
+        MarketFragment.getInstance("郑商所"),
+        MarketFragment.getInstance("上期能源"),
+        MarketFragment.getInstance("下期再见")
     )
 //endregion
 
@@ -54,20 +66,34 @@ class FutureMarket : BaseFragment<FutureMarketModel>() {
     private fun initViews() {
         idFutureTab = _view?.findViewById(R.id.id_future_tab)
         idMarketPager = _view?.findViewById(R.id.id_market_pager)
-        tabs[1] = "主力"
-        tabs[2] = "上期所"
-        tabs[3] = "大商所"
-        tabs[4] = "郑商所"
-        tabs[5] = "上期能源"
-        tabs[6] = "下期再见"
         // 设置
-        val builder = BaseFutureModel().qmuiTabSegmentConfig(idFutureTab, idMarketPager, tabFragments, tabs, context!!)
+        val builder = BaseFutureModel().qmuiTabSegmentConfig(idFutureTab, 14, context!!)
 
         // 加载数据
         for (cat in tabs) {
             val item = builder?.setText(cat)?.build(context)
             idFutureTab?.addTab(item)
         }
+
+        idMarketPager?.adapter = object : FragmentPagerAdapter(
+            childFragmentManager,
+            BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
+        ) {
+            @NonNull
+            override fun getItem(position: Int): Fragment {
+                return tabFragments[position]
+            }
+
+            override fun getCount(): Int {
+                return tabFragments.size
+            }
+
+            @Nullable
+            override fun getPageTitle(position: Int): CharSequence? {
+                return tabs[position]
+            }
+        }
+        idFutureTab?.setupWithViewPager(idMarketPager, false)
         // 关联fragment
         idFutureTab?.addOnTabSelectedListener(object : QMUITabSegment.OnTabSelectedListener {
             /**

+ 37 - 7
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/market/MarketBaseModel.kt

@@ -1,9 +1,12 @@
 package cn.muchinfo.rma.view.base.future.market
 
 import android.content.Context
+import android.graphics.drawable.Drawable
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.RelativeLayout
 import android.widget.TextView
 import androidx.recyclerview.widget.RecyclerView
 import cn.muchinfo.rma.R
@@ -11,41 +14,68 @@ import cn.muchinfo.rma.view.base.BaseViewModel
 
 class MarketBaseModel : BaseViewModel() {
     var list: ArrayList<MarketData>? = null
+    var type: String? = null
+
     /**
      * 获取配置器。
      */
     fun getAdapter(): RecyclerView.Adapter<MyAdapter.MarketHolder> {
-        return MyAdapter(context, list!!)
+        return MyAdapter(context, list)
     }
 
     /**
      * 通用的适配器。
      */
-    class MyAdapter(context: Context, list: ArrayList<MarketData>) : RecyclerView.Adapter<MyAdapter.MarketHolder>() {
+    class MyAdapter(context: Context?, list: ArrayList<MarketData>?) : RecyclerView.Adapter<MyAdapter.MarketHolder>() {
         var list: ArrayList<MarketData>? = null
         var inflater: LayoutInflater? = null
         var context: Context? = null
-
+        var choose: Drawable? = null
+        var unChoose: Drawable? = null
+        var pink: Drawable? = null
         init {
             this.list = list
             this.inflater = LayoutInflater.from(context)
             this.context = context
+
+            choose = context?.getDrawable(R.mipmap.rma_choose)
+            unChoose = context?.getDrawable(R.mipmap.rma_un_choose)
+            pink = context?.getDrawable(R.drawable.rma_red)
         }
 
         override fun getItemCount(): Int {
             return list?.size ?: 0
         }
 
-        class MarketHolder(itemView: View?, context: Context) : RecyclerView.ViewHolder(itemView!!) {
-//            var text = itemView?.findViewById<TextView>(R.id.tv)
+        class MarketHolder(itemView: View?) : RecyclerView.ViewHolder(itemView!!) {
+            var idChoose = itemView?.findViewById<RelativeLayout>(R.id.id_choose)
+            var idIsChoose = itemView?.findViewById<ImageView>(R.id.id_is_choose)
+            var idGoodsName = itemView?.findViewById<TextView>(R.id.id_goods_name)
+            var idGoodsCode = itemView?.findViewById<TextView>(R.id.id_goods_code)
+            var idPrice = itemView?.findViewById<TextView>(R.id.id_price)
+            var idUpDown = itemView?.findViewById<TextView>(R.id.id_up_down)
+            var idHoldTotal = itemView?.findViewById<TextView>(R.id.id_hold_total)
         }
 
         override fun onBindViewHolder(holder: MarketHolder, position: Int) {
-//            holder.text?.text = list?.get(position)?.goodsName
+            holder.idGoodsName?.text = list?.get(position)?.goodsName
+            holder.idGoodsCode?.text = list?.get(position)?.goodsCode
+            holder.idHoldTotal?.text = list?.get(position)?.totals.toString()
+            holder.idUpDown?.text = list?.get(position)?.upDown.toString()
+            holder.idPrice?.text = list?.get(position)?.lastPrice.toString()
+
+            holder.idPrice?.background = pink
+
+            // 是否自选的
+            if (list?.get(position)?.isChoose == true) {
+                holder.idIsChoose?.setImageDrawable(choose)
+            } else {
+                holder.idIsChoose?.setImageDrawable(unChoose)
+            }
         }
 
         override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MarketHolder {
-            return MarketHolder(inflater?.inflate(R.layout.market_item, parent, false), context!!)
+            return MarketHolder(inflater?.inflate(R.layout.market_item, parent, false))
         }
 
     }

+ 18 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/market/MarketData.kt

@@ -30,5 +30,22 @@ class MarketData: Serializable {
         set(value) {
             field = value
         }
-
+    // 持仓量
+    var totals: Double = 0.0
+        get() = field
+        set(value) {
+            field = value
+        }
+    // 涨跌
+    var upDown: Double = 0.0
+        get() = field
+        set(value) {
+            field = value
+        }
+    // 是否是自选的
+    var isChoose: Boolean = false
+        get() = field
+        set(value) {
+            field = value
+        }
 }

+ 21 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/market/MarketFragment.kt

@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.view.base.BaseFragment
@@ -11,11 +12,14 @@ import cn.muchinfo.rma.view.base.BaseFragment
 /**
  * 报价牌的通用fragment
  */
-class MarketFragment: BaseFragment<MarketBaseModel>() {
+class MarketFragment(type: String): BaseFragment<MarketBaseModel>() {
+
+    var type: String? = type
 
     companion object {
-        fun getInstance() = MarketFragment()
+        fun getInstance(type: String) = MarketFragment(type)
     }
+
 //region views
     private var _view: View? = null
     private var idMarketList: RecyclerView? = null // 列表
@@ -27,12 +31,27 @@ class MarketFragment: BaseFragment<MarketBaseModel>() {
         savedInstanceState: Bundle?
     ): View? {
         _view = inflater.inflate(R.layout.market_fragment, container, false)
+        viewModel.type = type
         initViews()
         return _view
     }
 
     private fun initViews() {
         idMarketList = _view?.findViewById(R.id.id_market_list)
+        val list: ArrayList<MarketData>? = ArrayList()
+        for (a in 1..10) {
+            val m = MarketData()
+            m.goodsName = "铁矿石" + (2105 + a)
+            m.goodsCode = "I" + (2105 + a)
+            m.lastPrice = 998.0 + a
+            m.upDown = 1.0 + a
+            m.totals = 1000.0 + a
+            m.isChoose = a % 2 == 0
+            list?.add(m)
+        }
+        val layoutManager = LinearLayoutManager(context)
+        idMarketList?.layoutManager = layoutManager
+        viewModel.list = list
         idMarketList?.adapter = viewModel.getAdapter()
     }
 

+ 5 - 0
RMA/app/src/main/res/drawable/rma_red.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="2.5dp"/>
+    <solid android:color="@color/p_pink_color"/>
+</shape>

+ 3 - 3
RMA/app/src/main/res/layout/list_head.xml

@@ -14,7 +14,7 @@
         app:layout_constraintStart_toStartOf="parent"
         android:text="@string/str_list_head_name"
         android:id="@+id/one"
-        app:layout_constraintDimensionRatio="w,5:1"
+        app:layout_constraintDimensionRatio="w,4:1"
         style="@style/ListHeadTextStyle"
         android:layout_marginStart="30dp"
         android:layout_height="wrap_content"/>
@@ -59,8 +59,8 @@
         android:text="@string/str_list_head_hold_total"
         android:layout_height="wrap_content"/>
     <include
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
         layout="@layout/line_view"
+        android:layout_width="match_parent"
+        android:layout_height="0.1dp"
         app:layout_constraintTop_toBottomOf="@+id/one"/>
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 61 - 0
RMA/app/src/main/res/layout/list_head1.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+    <include
+        app:layout_constraintTop_toBottomOf="parent"
+        layout="@layout/line_view"/>
+    <androidx.appcompat.widget.LinearLayoutCompat
+        android:layout_width="match_parent"
+        android:orientation="horizontal"
+        app:layout_constraintTop_toTopOf="parent"
+        android:layout_height="wrap_content">
+        <TextView
+            android:layout_width="wrap_content"
+            android:text="@string/str_list_head_name"
+            android:id="@+id/one"
+            android:layout_weight="2"
+            style="@style/ListHeadTextStyle"
+            android:layout_marginStart="30dp"
+            android:layout_height="wrap_content"/>
+        <!--价格-->
+        <TextView
+            android:layout_width="wrap_content"
+            android:id="@+id/two"
+            android:layout_weight="1"
+            android:text="@string/str_list_head_price"
+            android:gravity="end"
+            android:drawableEnd="@mipmap/rma_sort"
+            style="@style/ListHeadTextStyle"
+            android:layout_height="wrap_content"/>
+        <!--涨跌-->
+        <TextView
+            android:id="@+id/three"
+            android:layout_weight="1"
+            android:layout_width="wrap_content"
+            android:text="@string/str_list_head_up_down"
+            android:drawableEnd="@mipmap/rma_sort"
+            android:gravity="end"
+            style="@style/ListHeadTextStyle"
+            android:layout_height="wrap_content"/>
+
+        <!--    持仓量-->
+        <TextView
+            android:layout_weight="1"
+            android:layout_width="wrap_content"
+            android:layout_marginEnd="11.5dp"
+            android:gravity="end"
+            style="@style/ListHeadTextStyle"
+            android:id="@+id/four"
+            android:text="@string/str_list_head_hold_total"
+            android:layout_height="wrap_content"/>
+    </androidx.appcompat.widget.LinearLayoutCompat>
+
+    <include
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        layout="@layout/line_view"
+        app:layout_constraintTop_toBottomOf="@+id/one"/>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 99 - 74
RMA/app/src/main/res/layout/market_item.xml

@@ -1,83 +1,108 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout
+<androidx.appcompat.widget.LinearLayoutCompat
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:orientation="horizontal"
     xmlns:app="http://schemas.android.com/apk/res-auto">
-<!--可以点击的自选-->
-    <RelativeLayout
-        android:layout_width="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        android:paddingEnd="6dp"
-        android:paddingStart="1dp"
-        android:id="@+id/id_choose"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_height="0dp">
-        <ImageView
-            android:layout_width="16dp"
-            android:src="@mipmap/rma_choose"
-            android:layout_marginTop="16dp"
-            android:layout_marginStart="10dp"
-            android:layout_height="16dp" />
-    </RelativeLayout>
-<!--商品-->
-    <TextView
-        android:layout_width="wrap_content"
-        app:layout_constraintTop_toTopOf="parent"
-        android:text="铁矿石2105"
-        android:layout_marginTop="15dp"
-        android:id="@+id/id_goods_name"
-        app:layout_constraintDimensionRatio="w,4:1"
-        app:layout_constraintStart_toEndOf="@+id/id_choose"
-        android:layout_height="wrap_content"/>
-<!--商品代码-->
-    <TextView
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="0dp"
-        app:layout_constraintTop_toBottomOf="@+id/id_goods_name"
-        android:text="I2105"
-        android:id="@+id/id_goods_code"
-        style="@style/ListTextStyle"
-        app:layout_constraintStart_toEndOf="@+id/id_choose"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_marginBottom="15dp"
-        android:layout_height="wrap_content"/>
+        android:layout_weight="2"
+        android:layout_height="wrap_content">
 
-<!--    价格-->
-    <TextView
-        android:layout_width="0dp"
-        android:id="@+id/id_price"
-        app:layout_constraintTop_toTopOf="parent"
-        style="@style/ListTextStyle"
-        android:gravity="end"
-        android:text="价格"
-        app:layout_constraintEnd_toStartOf="@+id/id_up_down"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/id_goods_name"
-        android:layout_height="wrap_content"/>
-<!--涨跌-->
-    <TextView
-        android:layout_width="0dp"
-        android:id="@+id/id_up_down"
-        android:gravity="end"
-        android:text="涨跌"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/id_price"
-        app:layout_constraintEnd_toStartOf="@+id/id_hold_total"
-        android:layout_height="wrap_content"/>
+        <!--可以点击的自选-->
+        <RelativeLayout
+            android:layout_width="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            android:paddingEnd="6dp"
+            android:paddingStart="1dp"
+            android:id="@+id/id_choose"
+            app:layout_constraintBottom_toBottomOf="parent"
+            android:layout_height="0dp">
+            <ImageView
+                android:layout_width="16dp"
+                android:src="@mipmap/rma_choose"
+                android:layout_marginTop="16dp"
+                android:id="@+id/id_is_choose"
+                android:layout_marginStart="10dp"
+                android:layout_height="16dp" />
+        </RelativeLayout>
+        <!--商品-->
+        <TextView
+            android:layout_width="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            android:text="铁矿石2105111111111111"
+            android:layout_marginTop="15dp"
+            android:ellipsize="marquee"
+            android:id="@+id/id_goods_name"
+            app:layout_constraintStart_toEndOf="@+id/id_choose"
+            android:layout_height="wrap_content"
+            android:singleLine="true" />
+        <!--商品代码-->
+        <TextView
+            android:layout_width="0dp"
+            app:layout_constraintTop_toBottomOf="@+id/id_goods_name"
+            android:text="I2105"
+            android:id="@+id/id_goods_code"
+            style="@style/ListTextStyle"
+            app:layout_constraintStart_toEndOf="@+id/id_choose"
+            app:layout_constraintBottom_toBottomOf="parent"
+            android:layout_marginBottom="15dp"
+            android:layout_height="wrap_content"/>
 
-<!--    持仓量-->
-    <TextView
+    </androidx.constraintlayout.widget.ConstraintLayout>
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="0dp"
-        android:gravity="end"
-        android:id="@+id/id_hold_total"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/id_up_down"
-        android:layout_marginEnd="15dp"
-        android:text="持仓量"
-        style="@style/ListTextStyle"
-        android:layout_height="wrap_content"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
+        android:layout_weight="3"
+        android:layout_gravity="center_vertical"
+        android:layout_height="wrap_content">
+
+        <!--    价格-->
+        <TextView
+            android:layout_width="0dp"
+            android:id="@+id/id_price"
+            app:layout_constraintTop_toTopOf="parent"
+            style="@style/ListTextStyle"
+            android:gravity="end"
+            android:text="价格"
+            android:textColor="#FF5C6F"
+            android:paddingEnd="8dp"
+            android:paddingStart="0dp"
+            android:paddingTop="3dp"
+            android:paddingBottom="3dp"
+            app:layout_constraintEnd_toStartOf="@+id/id_up_down"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            android:layout_height="wrap_content"/>
+        <!--涨跌-->
+        <TextView
+            android:layout_width="0dp"
+            android:id="@+id/id_up_down"
+            android:gravity="end"
+            android:text="涨跌"
+            android:paddingEnd="8dp"
+            android:paddingStart="0dp"
+            android:paddingTop="3dp"
+            android:paddingBottom="3dp"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/id_price"
+            app:layout_constraintEnd_toStartOf="@+id/id_hold_total"
+            android:layout_height="wrap_content"/>
+
+        <!--    持仓量-->
+        <TextView
+            android:layout_width="0dp"
+            android:gravity="end"
+            android:id="@+id/id_hold_total"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/id_up_down"
+            android:layout_marginEnd="15dp"
+            android:text="持仓量"
+            style="@style/ListTextStyle"
+            android:layout_height="wrap_content"/>
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.appcompat.widget.LinearLayoutCompat>

BIN
RMA/app/src/main/res/mipmap-hdpi/rma_un_choose.png


+ 1 - 0
RMA/app/src/main/res/values/colors.xml

@@ -73,4 +73,5 @@
     <!--全局配置-分割线的颜色-->
     <color name="p_line_color">#e9e7e7</color>
     <color name="p_global_bg_color">#f3f3f3</color>
+    <color name="p_pink_color">#FFEAEC</color>
 </resources>