main
huangwei 10 months ago
parent d05ec5d649
commit d82be8bc75
  1. 88
      app/src/main/java/com/project/survey/activity/MainActivity.kt
  2. 59
      app/src/main/java/com/project/survey/fragment/base/BaseFragmentBinding.java
  3. 21
      app/src/main/java/com/project/survey/fragment/home/HomeFragment.kt
  4. 21
      app/src/main/java/com/project/survey/fragment/home/InstrumentFragment.kt
  5. 21
      app/src/main/java/com/project/survey/fragment/home/MeFragment.kt
  6. 4
      app/src/main/res/layout/activity_main.xml
  7. 11
      app/src/main/res/layout/fragment_home.xml
  8. 11
      app/src/main/res/layout/fragment_instrument.xml
  9. 11
      app/src/main/res/layout/fragment_me.xml
  10. BIN
      app/src/main/res/mipmap-xxhdpi/icon_home_selected.png
  11. BIN
      app/src/main/res/mipmap-xxhdpi/icon_home_selected_not.png
  12. BIN
      app/src/main/res/mipmap-xxhdpi/icon_instrument_selected.png
  13. BIN
      app/src/main/res/mipmap-xxhdpi/icon_instrument_selected_not.png
  14. BIN
      app/src/main/res/mipmap-xxhdpi/icon_me_selected.png
  15. BIN
      app/src/main/res/mipmap-xxhdpi/icon_me_selected_not.png

@ -1,19 +1,107 @@
package com.project.survey.activity package com.project.survey.activity
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import androidx.viewpager.widget.ViewPager
import com.bingce.ui.TabEntity
import com.flyco.tablayout.listener.CustomTabEntity
import com.flyco.tablayout.listener.OnTabSelectListener
import com.project.survey.R
import com.project.survey.activity.base.BaseBindingActivity import com.project.survey.activity.base.BaseBindingActivity
import com.project.survey.databinding.ActivityMainBinding import com.project.survey.databinding.ActivityMainBinding
import com.project.survey.fragment.home.HomeFragment
import com.project.survey.fragment.home.InstrumentFragment
import com.project.survey.fragment.home.MeFragment
class MainActivity : BaseBindingActivity<ActivityMainBinding>() { class MainActivity : BaseBindingActivity<ActivityMainBinding>() {
private val mFragments = mutableListOf<Fragment>()
override fun getBinding(): ActivityMainBinding { override fun getBinding(): ActivityMainBinding {
return ActivityMainBinding.inflate(layoutInflater) return ActivityMainBinding.inflate(layoutInflater)
} }
override fun initView() { override fun initView() {
initTabFragment()
}
private fun initTabFragment() {
//设置tab
val mTabEntities = ArrayList<CustomTabEntity>()
mTabEntities.add(
TabEntity(
"首页",
R.mipmap.icon_home_selected,
R.mipmap.icon_home_selected_not
)
)
mTabEntities.add(
TabEntity(
"仪器",
R.mipmap.icon_instrument_selected,
R.mipmap.icon_instrument_selected_not
)
)
mTabEntities.add(
TabEntity(
"我的",
R.mipmap.icon_me_selected,
R.mipmap.icon_me_selected_not
)
)
mBinding.tabLayout.setTabData(mTabEntities)
mBinding.tabLayout.setOnTabSelectListener(object : OnTabSelectListener {
override fun onTabSelect(position: Int) {
mBinding.vp.setCurrentItem(position)
}
override fun onTabReselect(position: Int) {
}
})
//设置viewPager
mFragments.add(HomeFragment())
mFragments.add(InstrumentFragment())
mFragments.add(MeFragment())
mBinding.vp.adapter = MyPagerAdapter(supportFragmentManager)
mBinding.vp.offscreenPageLimit = 3
mBinding.vp.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
}
override fun onPageSelected(position: Int) {
mBinding.tabLayout.currentTab = position
}
override fun onPageScrollStateChanged(state: Int) {
}
})
} }
override fun initData() { override fun initData() {
} }
private inner class MyPagerAdapter : FragmentPagerAdapter {
constructor(fm: FragmentManager) : super(fm)
constructor(fm: FragmentManager, behavior: Int) : super(fm, behavior)
override fun getItem(position: Int): Fragment {
return mFragments[position]
}
override fun getCount(): Int {
return mFragments.size
}
}
} }

@ -0,0 +1,59 @@
package com.project.survey.fragment.base;
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.viewbinding.ViewBinding;
public abstract class BaseFragmentBinding<VB extends ViewBinding> extends Fragment {
protected VB mBinding;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mBinding = getViewBinding(inflater, container);
return mBinding.getRoot();
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initView();
initData();
}
@Override
public void onDestroyView() {
super.onDestroyView();
mBinding = null;
}
protected abstract VB getViewBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container);
protected abstract void initView();
protected abstract void initData();
protected String getArgumentString(String key) {
Bundle bundle = getArguments();
if (bundle != null) {
return bundle.getString(key);
}
return null;
}
protected int getArgumentInt(String key) {
Bundle bundle = getArguments();
if (bundle != null) {
return bundle.getInt(key);
}
return -1;
}
}

@ -0,0 +1,21 @@
package com.project.survey.fragment.home
import android.view.LayoutInflater
import android.view.ViewGroup
import com.project.survey.databinding.FragmentHomeBinding
import com.project.survey.fragment.base.BaseFragmentBinding
class HomeFragment : BaseFragmentBinding<FragmentHomeBinding>() {
override fun getViewBinding(
inflater: LayoutInflater,
container: ViewGroup?
): FragmentHomeBinding {
return FragmentHomeBinding.inflate(inflater, container, false)
}
override fun initView() {
}
override fun initData() {
}
}

@ -0,0 +1,21 @@
package com.project.survey.fragment.home
import android.view.LayoutInflater
import android.view.ViewGroup
import com.project.survey.databinding.FragmentInstrumentBinding
import com.project.survey.fragment.base.BaseFragmentBinding
class InstrumentFragment : BaseFragmentBinding<FragmentInstrumentBinding>() {
override fun getViewBinding(
inflater: LayoutInflater,
container: ViewGroup?
): FragmentInstrumentBinding {
return FragmentInstrumentBinding.inflate(inflater, container, false)
}
override fun initView() {
}
override fun initData() {
}
}

@ -0,0 +1,21 @@
package com.project.survey.fragment.home
import android.view.LayoutInflater
import android.view.ViewGroup
import com.project.survey.databinding.FragmentMeBinding
import com.project.survey.fragment.base.BaseFragmentBinding
class MeFragment : BaseFragmentBinding<FragmentMeBinding>() {
override fun getViewBinding(
inflater: LayoutInflater,
container: ViewGroup?
): FragmentMeBinding {
return FragmentMeBinding.inflate(inflater, container, false)
}
override fun initView() {
}
override fun initData() {
}
}

@ -7,13 +7,13 @@
android:orientation="vertical"> android:orientation="vertical">
<androidx.viewpager.widget.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/activity_main_viewpager" android:id="@+id/vp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" /> android:layout_weight="1" />
<com.flyco.tablayout.CommonTabLayout <com.flyco.tablayout.CommonTabLayout
android:id="@+id/activity_main_tab_layout" android:id="@+id/tabLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="54dp" android:layout_height="54dp"
android:background="#ffffff" android:background="#ffffff"

@ -0,0 +1,11 @@
<?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="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="首页" />
</LinearLayout>

@ -0,0 +1,11 @@
<?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="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="仪器" />
</LinearLayout>

@ -0,0 +1,11 @@
<?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="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我的" />
</LinearLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 958 B

Loading…
Cancel
Save