IOS를 사랑하는 AOS 개발자
[Android] FrameLayout 간단 사용법2 본문
반응형
SMALL
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻
FrameLayout 초초초초 간단 사용법 2
저번에 올린 글이랑 거의.. 뭐.. 같긴한데 2개 이상의 버튼을 클릭 했을 때 동일한 공간에 보여졌다 안보여졌다 하는걸 해볼라고여
언제나 뷰부터 그립니다.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:padding="20dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼1"
android:layout_marginRight="30dp"
android:backgroundTint="#999999"
/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼2"
android:backgroundTint="#444444"
/>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:id="@+id/f1"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="버튼1 눌렀어요!"
android:backgroundTint="#8BC34A"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="버튼1 눌렀어요!"
android:backgroundTint="#8BC34A"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/f2"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="버튼2 눌렀어요!"
android:backgroundTint="#FF9800"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="버튼2 눌렀어요!"
android:backgroundTint="#FF9800"
/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
저번과는 다르게 LinearLayout 에 android:visibility 를 설정 해주 었어요!
1개 이상의 위젯들을 동일하게 이벤트 처리해줘야할때 ( 저는 특히 visibility 사용할때 많이 썻어요 ) LinearLayout 으로 감싸서
처리를 많이 해줍니다!!
반응형
다 그렸으면 이젠 코드로 갑니다
MainActivity
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
// 변수 선언
Button btn1,btn2;
LinearLayout f1,f2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
// xml 연결
btn1 = findViewById(R.id.btn1);
btn2 = findViewById(R.id.btn2);
f1=findViewById(R.id.f1);
f2=findViewById(R.id.f2);
// 클릭 이벤트
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (f1.getVisibility() == v.INVISIBLE){
f1.setVisibility(v.VISIBLE);
f2.setVisibility(v.INVISIBLE);
}else {
f1.setVisibility(v.INVISIBLE);
}
}
});
// 클릭 이벤트
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (f2.getVisibility() == v.INVISIBLE){
f2.setVisibility(v.VISIBLE);
f1.setVisibility(v.INVISIBLE);
}else {
f2.setVisibility(v.INVISIBLE);
}
}
});
}
}
SMALL
저번과 거의 똑같쥬? 근데 이번엔 제가 스샷을 찍었어요 ( 신성한 맥북에 Emulator 를 깔았습니다................. 조만간 지워야지 )
스샷으로 보는 것 보다 스스로 직접 코드 짜서 해보는게 더 좋을 것 같아요!!!!
( 스샷으로 찍어 놓으니 내가 전달하고자 하는 느낌이 제대로 전달 안되는 느낌이랄까... ㅎ)
초초초초초초 간단 사용법 2 끝!
이로써 코드는 끝 입니다
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻
반응형
LIST
'Android ( JAVA ) > 개발' 카테고리의 다른 글
[Android] RadioButton 간단 사용법(feat. strings.xml) (0) | 2021.12.21 |
---|---|
[Android] CheckBox 간단 사용법 (0) | 2021.12.21 |
[Android] FrameLayout 간단 사용법 (0) | 2021.12.21 |
[Android] 안드로이드 앱 내에서 문자보내기 (0) | 2021.12.17 |
[Android] 안드로이드 앱 내에서 전화걸기 (0) | 2021.12.17 |
Comments