본문 바로가기

Android/UI

[안드로이드 Java] 버튼 추가 하기, 숨기기, 비활성화 하기

728x90
반응형

activity_main.xml


<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button1"
        android:text="Button Example" />

버튼 레이아웃 추가. 원하는 속성을 추가하세요.

  • 버튼 숨기기/보이기
android:visibility="gone"      아예 없는것으로 취급
android:visibility="invisible" 버튼 공간은 있지만 보이지만 않게 설정
android:visibility="visible"   일반 보이기

 

  • 버튼 활성화/비활성화
 android:enabled="false" 버튼 비활성화
 android:enabled="true"  버튼 활성화(일반)

 

MainActivity.java


import android.widget.Button;
..
 Button button1 = (Button) findViewById(R.id.button1);
..

만든 버튼 id에 맞게 Button 변수를 생성하여 주고,

클릭 했을 때가 중요하겠죠. 온클릭 리스너를 만들어 주어야 합니다.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button1 = (Button) findViewById(R.id.button1) ;

        button1.setOnClickListener(new Button.OnClickListener() {
            @Override
            public void onClick(View view) {
                // TODO : click event
            }
        });
        

    }
}

버튼을 만들고, 클릭했을 때 이벤트를 리스너 안에 추가해보세요.

그럼 만든 버튼을 클릭했을 때 리스너가 호출되어 이벤트를 수행하게 됩니다.

 

  • 버튼 숨기기/보이기
button1.setVisibility(View.INVISIBLE);
button1.setVisibility(View.VISIBLE);
button1.setVisibility(View.GONE);

코드상에서 마음대로 버튼의 visibility를 수정할 수 있습니다.

또, 현 상태도 getVisibility를 통해 알아볼 수 있습니다.

if(button1.getVisibility() == View.INVISIBLE){
	button1.setVisibility(View.VISIBLE);
}

 

  • 버튼 활성화/비활성화
button1.setEnabled(false);
button1.setEnabled(true);

버튼 활성화/비활성화도 참고하세요.

728x90
반응형