반응형
ViewPager를 사용하지 않고 탭 레이아웃
저는 다음과 같이 구현하고 싶습니다.TabLayout그것은 간단하지만 내가 찾은 모든 튜토리얼은 관련이 있기 때문입니다.ViewPager. 난 그냥 뭔가를 원해요OnClickListener를 클릭하면 어디에.Add아이콘에 "탭 1"이 표시되는 토스트가 표시되고 달력 아이콘을 클릭하면 "탭 2"가 표시되는 토스트가 표시됩니다.
사용하고 싶습니다TabLayout장치 회전을 처리하기 때문입니다.
Main_activity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
// Add five tabs. Three have icons and two have text titles
tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.add_live));
tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.calendar_live));
tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.group_live));
tabLayout.addTab(tabLayout.newTab().setText("Send"));
tabLayout.addTab(tabLayout.newTab().setText("Send & Post"));
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:app="http://schemas.android.com/tools">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill" />
</RelativeLayout>
찾은 항목:
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
if(tabLayout.getSelectedTabPosition() == 0){
Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
}else if(tabLayout.getSelectedTabPosition() == 1){
Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
}else if(tabLayout.getSelectedTabPosition() == 2){
Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
}else if(tabLayout.getSelectedTabPosition() == 3){
Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
}else if(tabLayout.getSelectedTabPosition() == 4){
Toast.makeText(MainActivity.this, "Tab " + tabLayout.getSelectedTabPosition(), Toast.LENGTH_LONG).show();
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
다음을 사용하여 수락된 답변에 대한 대체 솔루션Tab.getPosition보다는TabLayout.getSelectedTabPosition방법.
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Toast.makeText(
MainActivity.this, "Tab " + tab.getPosition(), Toast.LENGTH_LONG
).show();
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
언급URL : https://stackoverflow.com/questions/33646586/tablayout-without-using-viewpager
반응형
'programing' 카테고리의 다른 글
| "에서 발견된 예기치 않은 요소" 오류를 수정하려면 어떻게 해야 합니까? (0) | 2023.10.09 |
|---|---|
| Controller As 표기법을 사용하여 상위 속성에 액세스하는 방법 (0) | 2023.10.09 |
| 장고 쿼리셋과 함께 파이썬 타입 힌트를 사용하는 방법? (0) | 2023.10.09 |
| 워드프레스 API 호출 후 무효 cf7 (0) | 2023.10.09 |
| 스크롤IntoView는 모든 브라우저에서 작동합니까? (0) | 2023.10.04 |