728x90
반응형
<문제>
탭호스트를 이용해서 선택 앱을 작성하라.
- 탭 위젯을 아래쪽에 배치하고 탭은 4개가 나오도록 한다.
- 프레임레이아웃 안의 3개 리니어레이아웃을 제거하고 4개의 이미지뷰로 배치한다.
<결과 화면>
<XML 코드>
<?xml version="1.0" encoding="utf-8"?>
<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: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/cat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/cat">
</ImageView>
<ImageView
android:id="@+id/dog"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/dog">
</ImageView>
<ImageView
android:id="@+id/horse"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/horse">
</ImageView>
<ImageView
android:id="@+id/rabbit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/rabbit">
</ImageView>
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#f0f000">
</TabWidget>
</LinearLayout>
</TabHost>
위에 존재하던 탭위젯을 아래로 내리는건 그냥 순서만 바꿔주면된다.
<JAVA 코드>
package com.example.a4_test1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TabHost;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("탭호스트 예제");
TabHost tabHost = findViewById(R.id.TabHost);
tabHost.setup();
TabHost.TabSpec tabSpecCat = tabHost.newTabSpec("CAT").setIndicator("고양이");
tabSpecCat.setContent(R.id.cat);
tabHost.addTab(tabSpecCat);
TabHost.TabSpec tabSpecDog = tabHost.newTabSpec("DOG").setIndicator("강아지");
tabSpecDog.setContent(R.id.dog);
tabHost.addTab(tabSpecDog);
TabHost.TabSpec tabSpecRabbit = tabHost.newTabSpec("RABBIT").setIndicator("토끼");
tabSpecRabbit.setContent(R.id.rabbit);
tabHost.addTab(tabSpecRabbit);
TabHost.TabSpec tabSpecHorse = tabHost.newTabSpec("HORSE").setIndicator("말");
tabSpecHorse.setContent(R.id.horse);
tabHost.addTab(tabSpecHorse);
tabHost.setCurrentTab(0);
}
}
8열에서 extends TabActivity는 API 13이후로 잘 쓰이지 않는다고 한다.
책과는 조금 다른듯
<결과>
728x90
반응형
'Android, IOS > Android' 카테고리의 다른 글
[Android Sutdio를 활용한 안드로이드 프로그래밍 개정 5판] 직접 풀어보기 8-2 및 응용 (0) | 2019.11.23 |
---|---|
[Android Sutdio를 활용한 안드로이드 프로그래밍 개정 5판] 연습문제 7-6 (0) | 2019.11.09 |
[에러] AAPT 에러, Android resource linking failed (0) | 2019.10.21 |
[Android Sutdio를 활용한 안드로이드 프로그래밍] 연습문제 5-6 (0) | 2019.10.09 |
[Android Sutdio를 활용한 안드로이드 프로그래밍] 연습문제 4-7 (0) | 2019.09.21 |