开发Android已经有些时日了,接触了很多APP结构,大部分的APP结构都是如此!!!
微信底部栏这样的APP模板已经在当下很成熟了,开发中,实现这种底部导航栏的方式也有很多,如:
RadioGroup+RadioButton,LinearLayout线性布局,TabLayout+ViewPager等,然而我们都需要设置一系列的监听,来实现切换fragment,开发自然会麻烦许多,今天给大家推荐一个使用的View(GYBottomBar),使用起来,非常的方便,省去了很多的麻烦,附上地址(https://github.com/gyadministrator/GYBottomBar)
实现效果如下:
GYBottomBar GYBottomBar就是这么简单,那我们如何使用呢?
使用也非常简单,只需依赖最新的插件即可。
allprojects {
repositories {
maven {
url 'https://jitpack.io'
}
}
}
dependencies {
implementation 'com.github.gyadministrator:GYBottomBar:1.1'
}
然后在Activity里面使用就可以了。
package com.android.gybottombar;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.FrameLayout;
import android.widget.Toast;
import com.android.bottombar.model.GYBarItem;
import com.android.bottombar.view.GYBottomBarView;
import com.android.gybottombar.fragment.TestFragment;
import com.android.gybottombar.fragment.TestFragment1;
import com.android.gybottombar.fragment.TestFragment2;
import com.android.gybottombar.fragment.TestFragment3;
import java.util.ArrayList;
import java.util.List;
public class MainActivityextends AppCompatActivityimplements GYBottomBarView.IGYBottomBarChangeListener {
private GYBottomBarViewbottomView;
private ListbarItems =new ArrayList<>();
Listfragments =new ArrayList<>();
Listicons =new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bottomView = findViewById(R.id.bottomView);
initBarItems();
bottomView.setBarItems(barItems);
bottomView.setPositionBadge(0, 6);
bottomView.setPositionBadge(1, 0);
bottomView.setPositionBadge(2, 100);
initFragment();
initIcons();
bottomView.setSelectIcon(icons);
bottomView.setFragments(getSupportFragmentManager(), fragments, R.id.fl_container);
bottomView.setBarChangeListener(this);
}
private void initIcons() {
icons.add(R.drawable.more);
icons.add(R.drawable.more);
icons.add(R.drawable.more);
icons.add(R.drawable.more);
}
private void initFragment() {
fragments.add(TestFragment.newInstance());
fragments.add(TestFragment1.newInstance());
fragments.add(TestFragment2.newInstance());
fragments.add(TestFragment3.newInstance());
}
private void initBarItems() {
barItems.add(new GYBarItem("首页", R.mipmap.ic_launcher));
barItems.add(new GYBarItem("视频", R.mipmap.ic_launcher));
barItems.add(new GYBarItem("资讯", R.mipmap.ic_launcher));
barItems.add(new GYBarItem("我的", R.mipmap.ic_launcher));
}
@Override
public void onSelected(int position) {
Toast.makeText(this, "点击了" + position, Toast.LENGTH_SHORT).show();
}
}
这样你就可以省去很多麻烦了!!!!
网友评论