728x90
한빛아카데미 Android Studio를 활용한 안드로이드 프로그래밍 6판
p.264 직접 풀어보기 6-3
탭호스트를 이용하여 동물 선택 앱을 작성하라.
- 탭위젯을 아래쪽에 배치하고 탭 4개가 나오게 한다.
- 프레임레이아웃 안의 리니어레이아웃 3개를 제거하고 4개의 이미지뷰를 배치한다.
HINT 프레임레이아웃의 layout_weight 속성을 1로 한다.
코드
activity_main.xml
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabHost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<ImageView
android:id="@+id/tabDog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/dog" />
<ImageView
android:id="@+id/tabCat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/cat" />
<ImageView
android:id="@+id/tabRabbit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/rabbit" />
<ImageView
android:id="@+id/tabHorse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/horse" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#ffff00"></TabWidget>
</FrameLayout>
</LinearLayout>
</TabHost>
MainActivity.java
package com.cookandroid.test;
import android.os.Bundle;
import android.widget.TabHost;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabHost tabHost = findViewById(R.id.tabHost);
tabHost.setup();
TabHost.TabSpec tabDog = tabHost.newTabSpec("Dog").setIndicator("강아지");
tabDog.setContent(R.id.tabDog);
tabHost.addTab(tabDog);
TabHost.TabSpec tabCat = tabHost.newTabSpec("Cat").setIndicator("고양이");
tabCat.setContent(R.id.tabCat);
tabHost.addTab(tabCat);
TabHost.TabSpec tabRabbit = tabHost.newTabSpec("Rabbit").setIndicator("토끼");
tabRabbit.setContent(R.id.tabRabbit);
tabHost.addTab(tabRabbit);
TabHost.TabSpec tabHorse = tabHost.newTabSpec("Horse").setIndicator("말");
tabHorse.setContent(R.id.tabHorse);
tabHost.addTab(tabHorse);
tabHost.setCurrentTab(0);
}
}
결과
728x90
'개발 > 책' 카테고리의 다른 글
[안드로이드 프로그래밍] 4장 직접 풀어보기 4-3 (0) | 2021.10.09 |
---|---|
[안드로이드 프로그래밍] 6장 직접 풀어보기 6-2 (0) | 2021.10.09 |
[안드로이드 프로그래밍] 6장 직접 풀어보기 6-1 (0) | 2021.10.08 |