浏览代码

1.修改User字段。

石慧云 4 年之前
父节点
当前提交
50ad6b4f34

+ 1 - 0
app/build.gradle

@@ -121,4 +121,5 @@ dependencies {
 
     //微信sdk
     implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
+    implementation 'com.github.hackware1993:MagicIndicator:1.5.0'
 }

+ 4 - 5
app/src/main/java/com/quansu/heifengwuliu/activity/HomeActivity.kt

@@ -6,6 +6,7 @@ import androidx.core.content.ContextCompat
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.databinding.ActivityHomeBinding
+import com.quansu.heifengwuliu.fragment.DeliverGoodsFragment
 import com.quansu.heifengwuliu.fragment.IndexFragment
 import com.quansu.heifengwuliu.fragment.MineFragment
 import com.quansu.heifengwuliu.fragment.WayBillFragment
@@ -54,13 +55,11 @@ class HomeActivity : MBActivity<HomeVModel, ActivityHomeBinding>() {
 
     private fun initMainMenu() {
 
-        vm.user.observe(this) {
+//        vm.user.observe(this){}
 
 
-        }
-
-
-        val oneFragment = IndexFragment()
+       // val oneFragment = IndexFragment()
+        val oneFragment = DeliverGoodsFragment()
         val twoFragment = WayBillFragment()
         val threeFragment = MineFragment()
         val menuTabBuilder = binding.mainMenu.tabBuilder()

+ 52 - 0
app/src/main/java/com/quansu/heifengwuliu/adapter/FragmentAdapter.java

@@ -0,0 +1,52 @@
+package com.quansu.heifengwuliu.adapter;
+
+
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
+
+
+import com.quansu.heifengwuliu.utils.TAB;
+
+import java.util.ArrayList;
+
+/**
+ * Created by xianguangjin on 16/7/18.
+ * <p>
+ * 我的GitHub: https://github.com/ysnows
+ * <p>
+ * 加油,做一个真的汉子
+ */
+
+public class FragmentAdapter extends FragmentPagerAdapter {
+    private ArrayList<TAB> tabs = new ArrayList<>();
+
+    public FragmentAdapter(FragmentManager fm, ArrayList<TAB> tabs) {
+        super(fm);
+        this.tabs = tabs;
+    }
+
+    @Override
+    public Fragment getItem(int position) {
+
+        tabs.get(position).fragment.setArguments(tabs.get(position).bundle);
+
+        return tabs.get(position).fragment;
+    }
+
+    @Override
+    public int getCount() {
+        return tabs.size();
+    }
+
+    @Override
+    public CharSequence getPageTitle(int position) {
+        return tabs.get(position).name;
+    }
+
+//    @Override
+//    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
+//        //super.destroyItem(container, position, object);
+//    }
+}

+ 102 - 0
app/src/main/java/com/quansu/heifengwuliu/fragment/DeliverGoodsFragment.kt

@@ -0,0 +1,102 @@
+package com.quansu.heifengwuliu.fragment
+
+import android.graphics.Color
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentManager
+import com.quansu.heifengwuliu.R
+import com.quansu.heifengwuliu.activity.HomeActivity
+import com.quansu.heifengwuliu.base.MBFragment
+import com.quansu.heifengwuliu.databinding.FragmentDelivergoodsBinding
+import com.ysnows.base.base.BRepository
+import com.ysnows.base.base.BViewModel
+
+/**
+ * 发货
+ *Created by shihuiyun
+ *on 2020/9/11
+ */
+class DeliverGoodsFragment : MBFragment<BViewModel<BRepository>, FragmentDelivergoodsBinding>(){
+
+    var fragments= emptyArray<Fragment>()
+    var preTab = 0
+    var curTab = 0
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        initFragments()
+
+
+    }
+
+
+    override fun listeners() {
+        super.listeners()
+
+        binding.butSingle.setOnClickListener {
+            binding.butSingle.setTextColor(Color.parseColor("#ffffff"))
+            binding.butMore.setTextColor(Color.parseColor("#292929"))
+            binding.butSingle.setBackgroundResource(R.drawable.bg_chose_on)
+            binding.butMore.setBackgroundResource(R.drawable.bg_chose_off)
+
+
+            switchContent(0)
+        }
+        binding.butMore.setOnClickListener {
+            binding.butSingle.setTextColor(Color.parseColor("#292929"))
+            binding.butMore.setTextColor(Color.parseColor("#ffffff"))
+            binding.butSingle.setBackgroundResource(R.drawable.bg_chose_off)
+            binding.butMore.setBackgroundResource(R.drawable.bg_chose_on)
+            switchContent(1)
+        }
+
+
+    }
+
+
+    private fun initFragments() {
+        val oneFragment = OwnerSingleFragment()
+        val twoFragment = OwnerMoreFragment()
+        fragments = arrayOf(
+                oneFragment,
+                twoFragment
+        )
+    }
+
+    private fun switchContent(index: Int) {
+        preTab = curTab
+        curTab = index
+        val supportFragmentManager: FragmentManager = (context as HomeActivity).getSupportFragmentManager()
+        val transaction = supportFragmentManager.beginTransaction()
+        var fragment = supportFragmentManager.findFragmentByTag("tab_$index")
+        if (fragment == null) {
+            fragment = fragments[index]
+            if (fragment != null) {
+                transaction.add(R.id.container, fragment, "tab_$index")
+            }
+        } else {
+            transaction.show(fragment)
+        }
+        for (i in fragments.indices) {
+            fragment = supportFragmentManager.findFragmentByTag("tab_$i")
+            if (fragment == null || index == i) {
+                continue
+            }
+            transaction.hide(fragment)
+        }
+        transaction.commitAllowingStateLoss()
+    }
+
+
+
+
+    override fun binding(inflater: LayoutInflater, container: ViewGroup?): FragmentDelivergoodsBinding {
+        return FragmentDelivergoodsBinding.inflate(layoutInflater)
+    }
+
+    override fun title(): String? {
+        return null
+    }
+}

+ 33 - 0
app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerImgFragment.kt

@@ -0,0 +1,33 @@
+package com.quansu.heifengwuliu.fragment
+
+import android.os.Bundle
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import com.quansu.heifengwuliu.base.MBFragment
+import com.quansu.heifengwuliu.databinding.FragmentOwnerimgBinding
+import com.ysnows.base.base.BRepository
+import com.ysnows.base.base.BViewModel
+
+/**
+ * 车辆图片
+ *Created by shihuiyun
+ *on 2020/9/11
+ */
+class OwnerImgFragment : MBFragment<BViewModel<BRepository>, FragmentOwnerimgBinding>(){
+
+
+    var url:String=""
+    override fun __before(savedInstanceState: Bundle?) {
+        super.__before(savedInstanceState)
+        val arguments = arguments
+        if(null!=arguments) url=arguments.getString("img")
+
+        Log.e("-shy-", "__before:= "+url )
+
+    }
+
+    override fun binding(inflater: LayoutInflater, container: ViewGroup?): FragmentOwnerimgBinding {
+       return  FragmentOwnerimgBinding.inflate(layoutInflater)
+    }
+}

+ 20 - 0
app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerMoreFragment.kt

@@ -0,0 +1,20 @@
+package com.quansu.heifengwuliu.fragment
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import com.quansu.heifengwuliu.base.MBFragment
+import com.quansu.heifengwuliu.databinding.FragmentOwnermoreBinding
+import com.ysnows.base.base.BRepository
+import com.ysnows.base.base.BViewModel
+
+/**
+ * 一装多卸
+ *Created by shihuiyun
+ *on 2020/9/11
+ */
+class OwnerMoreFragment : MBFragment<BViewModel<BRepository>, FragmentOwnermoreBinding>(){
+
+    override fun binding(inflater: LayoutInflater, container: ViewGroup?): FragmentOwnermoreBinding {
+       return  FragmentOwnermoreBinding.inflate(layoutInflater)
+    }
+}

+ 100 - 0
app/src/main/java/com/quansu/heifengwuliu/fragment/OwnerSingleFragment.kt

@@ -0,0 +1,100 @@
+package com.quansu.heifengwuliu.fragment
+
+import android.content.Context
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import android.view.animation.AccelerateInterpolator
+import android.view.animation.DecelerateInterpolator
+import com.quansu.heifengwuliu.R
+import com.quansu.heifengwuliu.adapter.FragmentAdapter
+import com.quansu.heifengwuliu.base.MBFragment
+import com.quansu.heifengwuliu.databinding.FragmentOwnersingleBinding
+import com.quansu.heifengwuliu.utils.AList
+import com.quansu.heifengwuliu.utils.TAB
+import com.ysnows.base.base.BRepository
+import com.ysnows.base.base.BViewModel
+import com.ysnows.base.utils.B
+import net.lucode.hackware.magicindicator.ViewPagerHelper
+import net.lucode.hackware.magicindicator.buildins.UIUtil
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView
+
+/**
+ * 一装一卸
+ *Created by shihuiyun
+ *on 2020/9/11
+ */
+class OwnerSingleFragment : MBFragment<BViewModel<BRepository>, FragmentOwnersingleBinding>(){
+    var cats= emptyArray<String>()
+    private var outtabs = 0
+
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setIndicator()
+        binding.viewPager.offscreenPageLimit = 0
+        initViewPager()
+
+    }
+
+    private fun initViewPager() {
+        val tabs: AList<TAB> = AList()
+        for (cat in cats) {
+
+            var ownerImgFragment=OwnerImgFragment();
+
+            tabs.add(TAB(cat, ownerImgFragment,  B.with().putString("img","12344").ok()))
+
+        }
+        outtabs = tabs.ok().size- 1
+        val fragmentAdapter = FragmentAdapter(childFragmentManager, tabs.ok())
+        binding.viewPager.adapter = fragmentAdapter
+
+    }
+
+    private fun setIndicator() {
+        cats=arrayOf("1","2","3","4","5","6","11","23","18","30","33")
+
+        val commonNavigator = CommonNavigator(context)
+        commonNavigator.adapter = object : CommonNavigatorAdapter() {
+            override fun getCount(): Int {
+                return if (cats == null) 0 else cats.size
+            }
+
+            override fun getTitleView(context: Context, index: Int): IPagerTitleView {
+                val colorTransitionPagerTitleView = ColorTransitionPagerTitleView(context)
+                colorTransitionPagerTitleView.normalColor = context.resources.getColor(R.color.tv_subtitle)
+                colorTransitionPagerTitleView.selectedColor = context.resources.getColor(R.color.tv_title)
+                colorTransitionPagerTitleView.text = cats.get(index)
+                colorTransitionPagerTitleView.setOnClickListener { binding.viewPager.setCurrentItem(index) }
+                return colorTransitionPagerTitleView
+            }
+
+            override fun getIndicator(context: Context): IPagerIndicator {
+                val indicator = LinePagerIndicator(context)
+                indicator.mode = LinePagerIndicator.MODE_EXACTLY
+                indicator.lineHeight = UIUtil.dip2px(context, 3.0).toFloat()
+                indicator.lineWidth = UIUtil.dip2px(context, 40.0).toFloat()
+                indicator.roundRadius = UIUtil.dip2px(context, 2.0).toFloat()
+                indicator.startInterpolator = AccelerateInterpolator()
+                indicator.endInterpolator = DecelerateInterpolator(2.0f)
+                indicator.setColors(context.resources.getColor(R.color.bg_button_red))
+                return indicator
+            }
+        }
+        binding.slIndicator.navigator = commonNavigator
+
+        ViewPagerHelper.bind( binding.slIndicator, binding.viewPager)
+
+    }
+
+    override fun binding(inflater: LayoutInflater, container: ViewGroup?): FragmentOwnersingleBinding {
+       return FragmentOwnersingleBinding.inflate(layoutInflater)
+    }
+
+}

+ 42 - 0
app/src/main/java/com/quansu/heifengwuliu/utils/AList.java

@@ -0,0 +1,42 @@
+package com.quansu.heifengwuliu.utils;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * Created by xianguangjin on 15/12/25.
+ */
+public class AList<E> {
+
+    public ArrayList<E> list = new ArrayList<>();
+
+
+    public AList add(E obj) {
+        list.add(obj);
+        return this;
+    }
+
+    public AList addAll(Collection<? extends E> objs) {
+        list.addAll(objs);
+        return this;
+    }
+
+    public AList remove(int index) {
+        list.remove(index);
+        return this;
+    }
+
+    public ArrayList<E> ok() {
+        return list;
+    }
+
+    public static ArrayList toArray(Object[] objects) {
+        ArrayList arrayList = new ArrayList<>();
+        for (Object object : objects) {
+            arrayList.add(object);
+        }
+
+        return arrayList;
+
+    }
+}

+ 31 - 0
app/src/main/java/com/quansu/heifengwuliu/utils/TAB.java

@@ -0,0 +1,31 @@
+package com.quansu.heifengwuliu.utils;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * Created by xianguangjin on 16/6/3.
+ */
+
+public class TAB {
+
+    public String name;
+    public Fragment fragment;
+    public Bundle bundle;
+
+    public TAB(String name, Fragment fragment, Bundle bundle) {
+        this.name = name;
+        this.fragment = fragment;
+        this.bundle = bundle;
+    }
+
+    public TAB(Fragment fragment, Bundle bundle) {
+        this.fragment = fragment;
+        this.bundle = bundle;
+    }
+
+    public TAB(String name) {
+        this.name = name;
+    }
+}

二进制
app/src/main/res/drawable-xxhdpi/img_left.png


二进制
app/src/main/res/drawable-xxhdpi/img_right.png


+ 17 - 0
app/src/main/res/drawable/bg_chose_off.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+android:shape="rectangle" >
+
+<!-- 填充的颜色-->
+
+    <stroke
+        android:width="1dp"
+        android:color="#BBBBBB" />
+
+
+    <corners
+        android:radius="2dp"
+       >
+    </corners>
+
+</shape >

+ 14 - 0
app/src/main/res/drawable/bg_chose_on.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+android:shape="rectangle" >
+
+<!-- 填充的颜色-->
+
+    <solid android:color="#E17E30" />
+
+    <corners
+        android:radius="2dp"
+       >
+    </corners>
+
+</shape >

+ 54 - 0
app/src/main/res/layout/fragment_delivergoods.xml

@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto" >
+
+    <data >
+
+    </data >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical" >
+
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:orientation="horizontal"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="10dp"
+            android:layout_height="wrap_content">
+
+            <Button
+                android:id="@+id/but_single"
+                android:layout_width="120dp"
+                android:background="@drawable/bg_chose_on"
+                android:text="一装一卸"
+                android:textColor="@color/white"
+                android:layout_height="40dp">
+            </Button>
+            <Button
+                android:id="@+id/but_more"
+                android:layout_width="120dp"
+                android:background="@drawable/bg_chose_off"
+                android:text="一装多卸"
+                android:textColor="#292929"
+                android:layout_height="40dp">
+            </Button>
+
+
+        </LinearLayout>
+
+        <FrameLayout
+            android:id="@+id/container"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_marginTop="10dp"
+            android:layout_weight="1"
+            >
+        </FrameLayout >
+
+
+
+    </LinearLayout>
+</layout >

+ 17 - 0
app/src/main/res/layout/fragment_ownerimg.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto" >
+
+    <data >
+
+    </data >
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical" >
+
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout >
+</layout >

+ 17 - 0
app/src/main/res/layout/fragment_ownermore.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto" >
+
+    <data >
+
+    </data >
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical" >
+
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout >
+</layout >

+ 72 - 0
app/src/main/res/layout/fragment_ownersingle.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    >
+
+    <data>
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <net.lucode.hackware.magicindicator.MagicIndicator
+                android:id="@+id/sl_indicator"
+                android:layout_width="0dp"
+                android:layout_height="40dp"
+                android:layout_weight="1">
+
+            </net.lucode.hackware.magicindicator.MagicIndicator>
+
+            <ImageView
+                android:id="@+id/img_next"
+                android:layout_width="20dp"
+                android:layout_height="20dp"
+                android:src="@drawable/mine_right" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:orientation="horizontal"
+            android:gravity="center_vertical"
+            android:layout_height="100dp">
+
+            <ImageView
+                android:id="@+id/img_up"
+                android:layout_width="20dp"
+                android:layout_height="20dp"
+                android:layout_marginStart="12dp"
+                android:layout_marginEnd="10dp"
+                android:src="@drawable/img_left" />
+
+            <androidx.viewpager.widget.ViewPager
+                android:id="@+id/view_pager"
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_height="match_parent">
+
+            </androidx.viewpager.widget.ViewPager>
+
+
+            <ImageView
+                android:id="@+id/img_down"
+                android:layout_width="20dp"
+                android:layout_height="20dp"
+                android:layout_marginStart="10dp"
+                android:layout_marginEnd="12dp"
+                android:src="@drawable/img_right" />
+
+        </LinearLayout>
+
+
+    </LinearLayout>
+</layout>

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

@@ -209,6 +209,8 @@
     <color name="color_gray">#9a9a9a</color>
     <color name="color_translucent">#00000000</color>
     <color name="color_black">#000000</color>
-
+    <color name="tv_subtitle" >#666666</color >
+    <color name="tv_title" >#333333</color >
+    <color name="bg_button_red" >#FF4F66</color >
 
 </resources >

+ 3 - 1
base/src/main/java/com/ysnows/base/base/BFragment.kt

@@ -308,4 +308,6 @@ abstract class BFragment<VM : BViewModel<*>, B : ViewDataBinding> : RxFragment()
     override fun exitFromTopAnim(): Boolean {
         return false
     }
-}
+
+
+}