如何更改选项卡名称?
How to change the tab names?
我目前正在开发一个移动应用程序作为我课程的期末项目。我有这个屏幕,里面有 TabLayout。我的问题是它们具有相同的标签名称。我希望他们有不同的名字。我应该在哪里更改
适配器
package com.example.biowit;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.Lifecycle;
import androidx.viewpager2.adapter.FragmentStateAdapter;
public class LoginAdapter extends FragmentStateAdapter {
public LoginAdapter(@NonNull FragmentActivity fragmentActivity) {
super(fragmentActivity);
}
public LoginAdapter(@NonNull Fragment fragment) {
super(fragment);
}
public LoginAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) {
super(fragmentManager, lifecycle);
}
@NonNull
@Override
public Fragment createFragment(int position) {
switch (position){
case 0:
LoginTabFragment loginTab = new LoginTabFragment();
return loginTab;
case 1:
SignupTabFragment signupTab = new SignupTabFragment();
return signupTab;
default:
return null;
}
}
@Override
public int getItemCount() { return 2; }
}
屏幕
package com.example.biowit;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import android.os.Bundle;
import com.google.android.material.tabs.TabItem;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
public class
LoginScreen extends AppCompatActivity {
TabLayout tabLayout;
ViewPager2 viewPager;
float v=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_screen);
tabLayout = findViewById(R.id.tab_layout);
viewPager = findViewById(R.id.view_pager);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
LoginAdapter login_adapter = new LoginAdapter(this);
viewPager.setAdapter(login_adapter);
new TabLayoutMediator(tabLayout, viewPager,
new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
tab.setText("LOGIN");
}
}).attach();
tabLayout.setAlpha(v);
}
}
在 onConfigureTab
方法中添加您想要的选项卡名称:
new TabLayoutMediator(tabLayout, viewPager,
new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
switch(position) {
case 0:
tab.setText("LOGIN");
break;
case 1:
tab.setText("SIGNUP");
break;
}
}
}).attach();
我目前正在开发一个移动应用程序作为我课程的期末项目。我有这个屏幕,里面有 TabLayout。我的问题是它们具有相同的标签名称。我希望他们有不同的名字。我应该在哪里更改
适配器
package com.example.biowit;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.Lifecycle;
import androidx.viewpager2.adapter.FragmentStateAdapter;
public class LoginAdapter extends FragmentStateAdapter {
public LoginAdapter(@NonNull FragmentActivity fragmentActivity) {
super(fragmentActivity);
}
public LoginAdapter(@NonNull Fragment fragment) {
super(fragment);
}
public LoginAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) {
super(fragmentManager, lifecycle);
}
@NonNull
@Override
public Fragment createFragment(int position) {
switch (position){
case 0:
LoginTabFragment loginTab = new LoginTabFragment();
return loginTab;
case 1:
SignupTabFragment signupTab = new SignupTabFragment();
return signupTab;
default:
return null;
}
}
@Override
public int getItemCount() { return 2; }
}
屏幕
package com.example.biowit;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import android.os.Bundle;
import com.google.android.material.tabs.TabItem;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
public class
LoginScreen extends AppCompatActivity {
TabLayout tabLayout;
ViewPager2 viewPager;
float v=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_screen);
tabLayout = findViewById(R.id.tab_layout);
viewPager = findViewById(R.id.view_pager);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
LoginAdapter login_adapter = new LoginAdapter(this);
viewPager.setAdapter(login_adapter);
new TabLayoutMediator(tabLayout, viewPager,
new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
tab.setText("LOGIN");
}
}).attach();
tabLayout.setAlpha(v);
}
}
在 onConfigureTab
方法中添加您想要的选项卡名称:
new TabLayoutMediator(tabLayout, viewPager,
new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
switch(position) {
case 0:
tab.setText("LOGIN");
break;
case 1:
tab.setText("SIGNUP");
break;
}
}
}).attach();