每日总结3/31
所花时间:3小时
代码量:如下:
博客量:本学期截至目前34篇
了解到的知识点:医学文献的检索
在今天我们团队完成了外包杯的那个系统软件,的javaweb页面,其中包括文字检索等一系列功能,和app中的界面设计。
以下代码为底部导航栏的实现:
package com.example.wenxian;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ViewPager mViewPager;
private RadioGroup mRadioGroup;
private RadioButton tab1,tab2,tab3,tab4; //四个单选按钮
private List<View> mViews; //存放视图
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();//初始化数据
//对单选按钮进行监听,选中、未选中
mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i) {
case R.id.rb_msg:
mViewPager.setCurrentItem(0);
break;
case R.id.rb_people:
mViewPager.setCurrentItem(1);
break;
case R.id.rb_me:
mViewPager.setCurrentItem(2);
break;
}
}
});
}
private void initView() {
//初始化控件
mViewPager=findViewById(R.id.viewpager);
mRadioGroup=findViewById(R.id.rg_tab);
tab1=findViewById(R.id.rb_msg);
tab2=findViewById(R.id.rb_people);
tab3=findViewById(R.id.rb_me);
mViews=new ArrayList<View>();//加载,添加视图
mViews.add(LayoutInflater.from(this).inflate(R.layout.activity_msg,null));
mViews.add(LayoutInflater.from(this).inflate(R.layout.activity_people,null));
mViews.add(LayoutInflater.from(this).inflate(R.layout.activity_me,null));
mViewPager.setAdapter(new MyViewPagerAdapter());//设置一个适配器
//对viewpager监听,让分页和底部图标保持一起滑动
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override //让viewpager滑动的时候,下面的图标跟着变动
public void onPageSelected(int position) {
switch (position) {
case 0:
tab1.setChecked(true);
tab2.setChecked(false);
tab3.setChecked(false);
break;
case 1:
tab1.setChecked(false);
tab2.setChecked(true);
tab3.setChecked(false);
break;
case 2:
tab1.setChecked(false);
tab2.setChecked(false);
tab3.setChecked(true);
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
//ViewPager适配器
private class MyViewPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return mViews.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view==object;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(mViews.get(position));
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
container.addView(mViews.get(position));
return mViews.get(position);
}
}
}

浙公网安备 33010602011771号