โ์ปดํ์ด๋ ๋ฒํผโ
ComoundButton ํด๋์ค๋ Button ํด๋์ค์ ํ์ ํด๋์ค๋ก ์ฒดํฌ๋ฐ์ค, ๋ผ๋์ค๋ฒํผ, ์ค์์น, ํ ๊ธ๋ฒํผ์ ์์ ํด๋์ค์ด๋ค. ์ด ๋ค๊ฐ์ง ๋ฒํผ์ ๊ณ ํต์ ์ ์ฒดํฌ ๋๋ ์ธ์ฒดํฌ ์ํ๊ฐ ๋ ์ ์๋ค.
์ฒดํฌ๋ฐ์ค๋ ํด๋ฆญํ ๋๋ง๋ค ์ฒดํฌ, ์ธ์ฒดํฌ๋ก ๋ฐ๋๋ค. ์ฌ๋ฌ๊ฐ์ ์ฒดํฌ๋ฐ์ค๊ฐ ์์ด๋ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๋ค๋ ํน์ง์ด ์์ด ์ฌ๋ฌ๊ฐ๋ฅผ ๋์์ ์ฒดํฌํ ์ ์๋ค.
์ฒดํฌ๋ฐ์ค์ XML์ฝ๋
<CheckBox
anroid:id="@+id/android"
android:text="์๋๋ก์ด๋ ํฐ"
android:Checked="true"/>
4ํ์ Checked="true"๋ก ์ค์ ํ๋ฉด ์ฒดํฌ๋ฐ์ค์ ์ฒดํฌ๋์ด ์๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
Java ์ฝ๋์์๋ ๊ฐ์ ๋ก ์ฒดํฌ๋ฅผ ์ผ๊ฑฐ๋ ๋๋ setChecked(), ์ฒดํฌ ์ํ๋ฅผ ๋ฐ๋๋ก ๋ฐ๊พธ๋ toggle(), ์ฒดํฌ๋์๋์ง ํ์ธํ๋ isChecked() ๋ฑ์ ๋ฉ์๋๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ค. ์ฒดํฌ๋ฐ์ค๋ TextViewํด๋์ค์ ํ์ ํด๋์ค์ด๋ฏ๋ก OnClickListener, OnTouchListener๋ฑ์ ๋ฆฌ์ค๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
1
2
3
4
5
6
7
|
CheckBox mycheck;
mycheck = (CheckBox)findViewById(R.id.android);
mycheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){
//๋์ ๋ด์ฉ ์ด ๋ถ๋ถ์ ์ฝ๋ฉ
}
});
|
cs |
์ฒดํฌ๋ฐ์ค ์ฒดํฌ ์ธ์ฒดํฌ ์ ์ฐจ๋ ๋ฒํผ์ ํด๋ฆญ๊ณผ ์ ์ฐจ๊ฐ ๋งค์ฐ ๋น์ทํ๋ค. 1ํ์์ ์ฒดํฌ๋ฐ์ค ๋ณ์ ์ ์ธ์ ํด์ฃผ๊ณ
2ํ ๋ณ์์ ์ฒดํฌ๋ฐ์ค ์์ ฏ ๋์ 3์ด ์ฒดํฌ๋ฐ์ค๊ฐ ๋ณ๊ฒฐ๋ ๋ ๋์ํ๋ ํด๋์ค ์ ์
5ํ์ ์ด๋ฒคํธ ๋ฐ์์ ๋์ํ ๋ด์ฉ์ ์ฝ๋ฉํด์ฃผ๋ฉด ๋๋ค.
์ค์์น์ ํ ๊ธ ๋ฒํผ
์ค์์น์ ํ ๊ธ ๋ฒํผ์ ๋ชจ์๋ง ์กฐ๊ธ ๋ค๋ฅผ๋ฟ ์ฉ๋๋ ๊ฑฐ์ ๋์ผํ๋ค. ์ค์์น์ ์ฃผ๋ ๊ธฐ๋ฅ์ on/off์ํ ํ์์ด๋ค.
1
2
3
4
5
6
7
8
|
<Switch
android:Checked="true" />
<Switch
android:Checked="false" />
<ToggleButton
android:Checked="true" />
<ToggleButton
android:Checked="false" />
|
cs |
XML์์ ์ค์์น์ ํ ๊ธ ๋ฒํผ์ ๋ค์๊ณผ ๊ฐ์ด ๋ํ ๋ผ ์ ์๋ค.
๋ผ๋์ค๋ฒํผ๊ณผ ๋ผ๋์ค ๊ทธ๋ฃน
๋ผ๋์ค ๋ฒํผ์ XML์์ฑ์ด๋ ๋ฉ์๋๊ฐ ์ฒดํฌ๋ฐ์ค์ ๊ฑฐ์ ๋์ผํ์ง๋ง ์ฉ๋๊ฐ ๋ค๋ฅด๋ค. ์ฑ๋ณ์ ์ ํํ๋ ๊ฒ์ฒ๋ผ ์ฌ๋ฌ๊ฐ์ค์ ํ๋๋ง ์ ํํด์ผํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค. ๊ทธ๋ฌ๋ ๋ผ๋์ค ๋ฒํผ๋ง ์ฌ๋ฌ๊ฐ ๋์ดํ๋ฉด ํด๋ฆญํ๋ ๊ฒ๋ง๋ค ๋ชจ๋ ์ค๋ณต์ผ๋ก ์ ํ๋๋ฏ๋ก ๋ผ๋์ค๊ทธ๋ฃน๊ณผ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ค.
๋ผ๋์ค ๊ทธ๋ฃน๊ณผ ๋ผ๋์ค๋ฒํผ์ XML์ฝ๋
1
2
3
4
5
6
7
|
<RadioGroup
android:id="@+id/rGroup1">
<RadioButton
android:text="๋จ์ฑ"/>
<RadioButton
android:text="์ฌ์ฑ"/>
<RadioGroup/>
|
cs |
2๊ฐ์ ๋ผ๋์ค ๋ฒํผ์ ํ๋์ ๋ผ๋์ค ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์๋ค. ๋ผ๋์ค ๊ทธ๋ฃน์์ ๋ชจ๋ ๋ผ๋์ค ๋ฒํผ์ ํ๋๋ง ์ ํ์ด ๊ฐ๋ฅํด์ง๋ค. ๋ผ๋์ค ๋ฒํผ์ ์ฌ์ฉํ ๋ ์ฃผ์ํ ์ ์ ๊ฐ ๋ผ๋์ค๋ฒํผ์ id ์์ฑ์ด ๊ผญ ์์ด์ผํ๋ค๋ ๊ฒ์ด๋ค. id ์์ฑ์ด ์์ผ๋ฉด ํด๋น ๋ผ๋์ค ๋ฒํผ์ด ๊ณ์ ์ ํ๋ ๊ฒ์ผ๋ก ์ง์ ๋์ด ํด์ ๋์ง ์๋๋ค.
์ด๋ฏธ์ง๋ทฐ์ ์ด๋ฏธ์ง๋ฒํผ
์ด๋ฏธ์ง๋ทฐ๋ ๊ทธ๋ฆผ์ ์ถ๋ ฅํ๋ ์์ ฏ์ผ๋ก ๊ทธ๋ฆผ์ ๋ฃ๊ฑฐ๋ ํ๋ฉด์ ํ๋ คํ๊ฒ ๊ตฌ์ฑํ ๋ ์ฌ์ฉํ๋ค. ์ด๋ฏธ์ง๋ทฐ์ ๋ณด์ฌ์ค ๊ทธ๋ฆผ ํ์ผ์ ์ผ๋ฐ์ ์ผ๋ก ํ๋ก์ ํธ์ [res]-[drawable] ํด๋์ ์์ด์ผํ๋ค.
์ ๊ทผ์ XML์์ "@drawable/๊ทธ๋ฆผ ์์ด๋" ํ์์ผ๋ก ํ๋ค.
ImageView ํด๋์ค๋ Viewํด๋์ค์์ ๋ฐ๋ก ์์๋ฐ๊ธฐ ๋๋ฌธ์ ์์ ๋ค๋ฅธ TextView์ ํ์ ์์ ฏ๋ค๊ณผ ์์ฑ์ด ๋ค๋ฅด๋ค. ImageButton ํด๋์ค๋ ImageView ํด๋์ค์์ ์์๋ฐ์ผ๋ฉฐ ๊ฑฐ์ ๋์ผํ ์ฉ๋๋ก ์ฐ์ง๋ง ๋ฒํผ์ฒ๋ผ ํด๋ฆญํ๋ ๋ฐ ์ฐ์ธ๋ค.
์ด๋ฏธ์ง๋ทฐ์ ์ด๋ฏธ์ง๋ฒํผ์ XML ์์ฑ์ผ๋ก๋ ์ด๋ฏธ์ง์ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ src, ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ maxHeight/MaxWidth, ์ด๋ฏธ์ง์ ํ๋/ ์ถ์ ๋ฐฉ์์ ์ง์ ํ๋ scaleType๋ฑ์ด ์๋ค.
์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ค๋จผ ๋จผ์ ๊ทธ๋ฆผ ํ์ผ์ [res]-[drawable] ํด๋์ ๋ณต์ฌํด ๋์์ผํ๋ค. (์ ์ฌ์ง์ ์ฒซ๋ฒ์งธ ๋นจ๊ฐ ๋ฐ์ค)
ํ์ผ ํฌ๋งท์ png, jpg,gif๋ฅผ ์ง์ํ์ง๋ง png๋ jpg๋ฅผ ๊ถ์ฅํ๋ค.
์ ์ฌ์ง์ ๋๋ฒ์งธ ๋นจ๊ฐ ๋ฐ์ค์ธ [mipmap]์ ๊ฐ์ ์ด๋ฆ์ ์ฑ ์์ด์ฝ ์ด๋ฏธ์ง(ic_launcher.png)๊ฐ ๋ํดํธ๋ก ๋ค์ด ์๋๋ฐ, ๊ฐ๊ฐ์ ๊ฐ์ ์ด๋ฏธ์ง์ด์ง๋ง ํด์๋๊ฐ mdpi(48×48), hdpi(72×72), xhdpi(96×96), xxhdpi(144×144), xxxhdpi(192×192) ๋ฑ์ผ๋ก ๋ค๋ฅด๋ค. ์ด๋ ๋ชจ๋ xml ํ์ผ์์๋ @mipmap/ic_launcher๋ก , Java ์ฝ๋์์๋ R.mipmap.ic_launcher๋ก ์ฌ์ฉ๋๋ค.
์ด๋ฏธ์ง๋ทฐ์ ์ด๋ฏธ์ง ๋ฒํผ์ xml ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<ImageView
android:src="@drawable/icon.png"/>
<ImageButton
android:src="@drawable/icon.png"/>
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:scaleType="fitXY"
android:src="@drawable/icon.png"/>
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:scaleType="fitCenter"
android:src="@drawable/icon.png"/>
|
cs |
1ํ ๊ธฐ๋ณธ์ ์ธ ImageViewํ์์ด๋ค.
2ํ์์ [res]-[drawable]์ ์ด๋ฏธ์ง ์์ด๋๋ฅผ ์ง์ ํ๋ค.
3,4ํ ๊ธฐ๋ณธ์ ์ธ ImageButton ํ์์ด๋ค.
6,7ํ ImageView์ ํฌ๊ธฐ ํ๋ 8ํ์ ์ด๋ฏธ์ง๋ฅผ ํ๋ํ๋ ๋ฐฉ์์ ์ง์ ํ๋ค. fitXY๋ ์ด๋ฏธ์ง๋ทฐ์ ์ข์ฐ์ ๊ฝ ๋ง์ถฐ์ ์ด๋ฏธ์ง๋ฅผ ํ๋ํ๊ณ 13ํ์ fitCenter๋ ์ค์์ ๋ง์ถฐ์ ํ๋ํ๋ ๋ฐฉ์์ด๋ค.
์ด์ธ์๋ matrix, fitStart, fitEnd, center, centerCrop, centerInside ๋ฐฉ์์ด ์๋ค.
๋๊ธ