카테고리 없음

사용자 인터페이스 및 실습 (사용자 인터페이스)

chris3471 2024. 11. 1. 08:09
728x90
반응형
public void onClick(View view){

	if(v==trueBtn){
    	targetBtn.setVisibility(View.VISIBLE);
    }else if(v==falseBtn){
    	targetBtn.setVisibility(View.INVISIBLE);
    }
}

TextView

- autoLink

    -android:text="가나다라 http://www.naver.com 마바사 a@a.com 아자차카 02-1234-5678"

    -android:autoLink="web|email|phone"

//각각의 링크를 사용자가 클릭하면 자동으로 브라우저, 이메일 앱, 전화 앱이 실행된다.

 

-maxLines

    -특정 줄만큼만 출력하기 위해 사용

    -android:maxLines="3"

 

-ellipsize

    -android:maxLines="3"

    -android:ellipsize='end'

    -maxLines로 지정한 줄만큼만 출력할 수 있는데, 이 때 줄임 표시(...)을 사용할 때 사용

 

 

ImageView

-src

    -화면에 출력할 이미지를 지정함

    -android:src="@drawable/sample"

 

-maxWidth/maxHeight

    -뷰의 크기 속성인 layout_width와height를 조정하는 것이 아니라 이미지 자체의 출력 크기를 변경함

    -adjustViewBounds와 함께 사용해야함

 

-adjustViewBounds

    -이미지의 크기를 변경할 때 가로세로 비율을 유지할지를 boolean값으로 지정하는 속성

    -android:maxWidth="100dp"

    -android:maxHeight="100dp"

    -android:adjustViewBounds="true"

 

 

EditText

-lines

    -처음 화면에 보일 때부터 특정 줄만큼 보이게 할 때 사용

    -만약 lines="3"으로 지정되면, 처음부터 세로 방향 3줄 입력 크기로 출력되고 더는 늘거나 줄지 않는다.

    -입력 창의 크기가 3줄로 고정된다는 것이지 3줄 내에서 스크롤 되어 여러 줄 입력은 가능

 

-maxLines

    -lines와 차이점 -> maxLines="3"으로 지정하더라도 처음 화면에 보일 때는 한 줄 입력 크기로 보임

    -사용자가 엔터를 입력하면 아래로 늘어나 최대 3줄까지 늘어난다.

    -lines와 동일하게 EditText 내에서 스크롤 되어 여러 줄 입력은 가능

 

-inputType

    1. 글을 입력하기 위해 올라오는 키보드의 모드를 제어

        -android:inputType="phone" // 외에 number, textEmailAddress, textPassword등 다양한 속성값 제공

        -전화번호를 입력해야하는 창에서는 처음 editText를 눌렀을 때 한글이나 영어가 아닌 숫자가 나오도록!!

 

    2. 사용자에게 한 줄 혹은 여러 줄 입력을 강제 (p124 속성 정리표가 있음)

        -android:inputType="text" 로 지정하면 사용자가 한 줄만 입력할 수 있도록 된다.

 

 

checkBox

    1. isChecked() : 해당 checkBox가 체크된 상태인지를 반환. (true=체크된 상태, false=체크가 안 된 상태)

    2. setChecked() : checkbox의 체크 상태를 바꾸기 위한 함수 (매개변수 값을 true->체크 상태)

    3. toggle() : 이 함수를 이용하면 현재 checkbox의 상태와 상관없이 반대로 바뀜

 

       checkBox = findViewById(R.id.checkbox);
       checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked) mBinding.checkbox.setText("is checked");
                else mBinding.checkbox.setText("is unChecked");
            }
        });

 

 

RadionButton

    -checkbox처럼 체크 상태를 표현하기 위한 뷰 but 여러 개 중 단일 선택을 함!!

    -여러 개 중 하나만 선택 가능

 

    1. check() : 매개변수로 체크하고자 하는 RadioButton의 id 값을 주면 해당 RadioButton이 체크된다. 

    2. clearCheck() : 체크 상태를 해제

    3. getCheckedRadioButtonId() : 체크된 RadioButton의 id값을 획득

 

<RadioGroup
	android:~
    
    <RadioButton
    	android:~
        android:~ />
            
    <RadioButton
    	android:~
        android:~ />
</RadioGroup>

 

같은 RadioGroup으로 묶인 RadioButton 중 하나만 체크 가능

 

 

속성

1. clickable 

    -TextView나 ImageView에 적용

    -버튼을 클릭했을 때 나타나는 효과와 동일한 효과를 낸다.

 

2. visibility 

    -android:visibility="gone" 

    -기본값은 true이며, "invisible", "gone"으로 지정하면 화면에 안 보이게 할 수 있음

    -"invisible"은 보이지는 않지만 그만큼의 크기를 확보한다(but "gone"은 크기 확보도 x)

 

 

public void onClick(View view){
	
    if(v==trueBtn){
    	targetBtn.setVisibility(View.VISIBLE);
    }else if(v==falseBtn){
       	targetBtn.setVisibility(View.INVISIBLE); 
    }
}

 

초기에 특정 뷰 화면을 출력하지 않으려는 의도로 사용 (자리만 확보)

 

 

ViewBinding

1. build.gradle 파일에 아래를 추가

android{
	//생략 ....
    viewBinding{
    	enable=true
    }
}

 

 

ex)

-activity_main.xml -> ActivityMainBinding

-item.xml -> ItemBinding

 

//뷰바인딩 객체 획득
ActivityMainBinding binding = ActivityMainBinding.inflate(getLayoutInflator());
//액티비티 화면 출력
setContentView(binding.getRoot());
//뷰 객체 이용
binding.visibleBtn.setOnClickListener(new View.OnClickListener(){
	public void onClick(View v){
    	~
    }
});

 

 

 

 

 

 

 

 

728x90
반응형