是目录耶!!
目录
一、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版权协议,转载请附上原文出处链接和本声明。