上一张效果图,简单明了
直接上代码,图片自己替换
ActivityFragment.java
public class ActivityFragment extends Fragment {
private View view;
TabLayout tabLayout;
@Nullable
public View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_activity,container,false);
new_tab();
initView();
initData();
initEvent();
return view;
}
private void new_tab(){
tabLayout = view.findViewById(R.id.tab);
tabLayout.addTab(tabLayout.newTab().setCustomView(tab_icon("周边",R.mipmap.yixin_icon)));
tabLayout.addTab(tabLayout.newTab().setCustomView(tab_icon("路线",R.mipmap.collection1)));
tabLayout.addTab(tabLayout.newTab().setCustomView(tab_icon("导航",R.mipmap.mine1)));
}
private View tab_icon(String name,int iconID){
View newtab = LayoutInflater.from(getContext()).inflate(R.layout.icon_view,null);
TextView tv = (TextView) newtab.findViewById(R.id.tabtext);
tv.setText(name);
ImageView im = (ImageView)newtab.findViewById(R.id.tabicon);
im.setImageResource(iconID);
return newtab;
}
public void initView() {}
public void initData() {}
public void initEvent() {}
}
所对应的 xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="com.gxuwz.yixin.activity.MainActivity">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_gravity="left" >
</com.google.android.material.tabs.TabLayout>
</RelativeLayout>
以上部分源码借鉴度娘,记不清博主是谁了,如有侵权,请转告我链接地址