所以我做了一个新的标签活动,制作了三个片段和他们的xmls,把一切都做好了,一切正常,一旦我想在浮动动作按钮上工作,我不知道怎么做,基本上我当你点击不同的浮动动作按钮时,试图显示一个不同的对话框,你们都知道每个Tab都有自己的浮动动作按钮,我找不到设置我需要的动作的位置! 请回答我,谢谢
答案 0 :(得分:0)
每个标签不一定有不同的浮动操作按钮。在不同的选项卡上,可以通过许多不同的方式与fab进行不同的操作。您可以在应用的MainActivity中定义一个fab,并覆盖viewpager的方法onPageChangeListener(),如下所示。
//In MainActivity's onCreate()
int fabState = 0;
FloatingActionButton fab;
//In onCreate method instantiate fab by using findViewById
fab = (FloatingActionButton) findViewBtId(R.id.your_fab_id);
viewPager.setOnPageChangeListener(new OnPageChangeListener(){
@Override
public void onPageScrollStateChanged(int state) {
//Called when the scroll state changes.
}
@Override
public void onPageScrolled(int position,
float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
//This method will be invoked when a new page becomes selected.
fabState = position;
}};
fab.setOnclickListener(new OnClickListener(){
if(fabState==0){
//write actions related to page one
}
else if(fabState ==1 ){
//write actions related to page two
}
else if(fabState==2){
//write actions related to page three
}
else{}
});
因此,这样通过声明一个名为fabState的变量,您可以存储在viewpager的哪个页面上,因此可以使用一个fab而不是为每个片段声明一个fab。上面的fab将在activity_main.xml中声明,而不是在某个片段的布局文件中声明..