基于Android的小区核酸检测系统--GroupButton&又建一个滑屏界面!!

是目录耶!!

目录

是目录耶!!

一、RadioGroup的实现

 RadioGroup来实现按钮的二选一

二、小区核酸检测的查看--核酸采样情况与核酸检测结果

相关的界面文件代码:(要注意id的区分!!!!!)

在后台逻辑代码的相关实现:

 ServiceSituationActivity.java


一、RadioGroup的实现

选择身份登录--居民用户或者是管理员身份   

(后期再来补充id以及相关权限  比如普通用户不能查看核酸采样情况以及核酸采样结果)

 RadioGroup来实现按钮的二选一

 <RadioGroup
        android:id="@+id/rg_identify"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="10dp"
        >
        <RadioButton
            android:id="@+id/rb_user"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="以用户身份登录"
            />
        <RadioButton
            android:id="@+id/rb_admin"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="以管理员身份登录"
            />

    </RadioGroup>

二、小区核酸检测的查看--核酸采样情况与核酸检测结果

相关的界面文件代码:(要注意id的区分!!!!!)

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/situation_drawer"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".LandActivity"
    >


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".LandActivity">

        <RadioGroup
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/rg_service"
            android:layout_marginTop="20dp"
            android:background="@drawable/lin_white_drawable"
            android:padding="5dp"
            >

            <RadioButton
                android:id="@+id/rb_ser_situation"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:button="@null"
                android:gravity="center"
                android:textSize="18sp"
                android:text="核酸采样情况" />

            <RadioButton
                android:id="@+id/rb_ser_result"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:button="@null"
                android:gravity="center"
                android:textSize="18sp"
                android:text="核酸检测报告" />


        </RadioGroup>

        <androidx.viewpager.widget.ViewPager
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:id="@+id/vp_service"
            />


    </LinearLayout>

</androidx.drawerlayout.widget.DrawerLayout>

在后台逻辑代码的相关实现:

 (后期会将切换使显示类似于微信或者其他的背景变色那样子 而不是这种不太明显字体放大并呈现黑色 后期加背景色应该会好看很多。)

 

 

 

 

 

 ServiceSituationActivity.java

package service;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;

import com.example.textnucleic.HealthFragment;
import com.example.textnucleic.LandActivity;
import com.example.textnucleic.MeFragment;
import com.example.textnucleic.NewsFragment;
import com.example.textnucleic.R;
import com.example.textnucleic.ServicesFragment;
import com.example.textnucleic.SquareFragment;

import java.util.ArrayList;
import java.util.List;

public class ServiceSituationActivity extends AppCompatActivity {
    private List<Fragment> situation_fragments;
    private ViewPager situation_pager;
    private RadioGroup situation_radioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate ( savedInstanceState );
        setContentView ( R.layout.activity_service_situation );

        //显示最上方文字标题为“老幼服务”
        getSupportActionBar().setTitle("小区核酸系统");


     initView();
        initDate();
    }

    private void initView() {
        situation_pager=(ViewPager) findViewById(R.id.vp_service);
        situation_pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            }
            @Override
            public void onPageSelected(int position) {
                //当某个Page被选中时,切换RadioButton
                RadioButton rb=(RadioButton) situation_radioGroup.getChildAt(position);
                changeCheckColor(position);
                rb.setChecked(true);
            }
            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });


        situation_radioGroup=(RadioGroup)findViewById(R.id.rg_service);
        situation_radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int checkId) {
                //根据RadioButton的id设置ViewPager现实的页面
                switch(checkId){
                    //点击查看核酸采样人数
                    case R.id.rb_ser_situation:
                        situation_pager.setCurrentItem(0);
                        changeCheckColor(0);
                        break;
                    //点击查看核酸检测结果
                    case R.id.rb_ser_result:
                        situation_pager.setCurrentItem(1);
                        changeCheckColor(1);
                        break;
                }
            }
        });
    }


    private void initDate() {
        situation_fragments=new ArrayList<Fragment> ();
        situation_fragments.add ( new SituationFragment () );
        situation_fragments.add ( new NucleicFragment () );

        SerActPagerAdaoter situation_adapter=new SerActPagerAdaoter ( getSupportFragmentManager () );
        situation_pager.setAdapter ( situation_adapter );

        ((RadioButton)situation_radioGroup.getChildAt(0)).setChecked(true);
    }



    //根据点击的RadioButton改变文字颜色
    private void changeCheckColor(int position) {
        RadioButton rb=null;
        for(int i=0;i< situation_radioGroup.getChildCount();i++) {
            rb=(RadioButton) situation_radioGroup.getChildAt(i);
            if(position==i) {
                rb.setTextColor( Color.BLACK);
                rb.setTextSize (23);
            }else{
                rb.setTextColor(Color.GRAY);
                rb.setTextSize (18);
            }
        }
    }

    private class SerActPagerAdaoter extends FragmentPagerAdapter {
        public SerActPagerAdaoter(FragmentManager fm) {
            super(fm);
        }
        @Override
        public Fragment getItem(int position) {
            return situation_fragments.get(position);
        }
        @Override
        public int getCount() {
            return situation_fragments.size();
        }
    }

}

版权声明:本文为qq_57095336原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。