반응형
런타임에 버튼의 "android : drawableTop"속성을 설정하는 방법
android:drawableTop
런타임에 버튼의 속성 " " 을 설정하는 방법
사용하다
button.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);
Drawables (있는 경우)를 텍스트의 왼쪽, 위, 오른쪽 및 아래에 표시하도록 설정합니다. Drawable을 원하지 않으면 0을 사용하십시오. Drawables의 경계는 고유 경계로 설정됩니다.
사용하는 경우
button.setCompoundDrawables(left, top, right, bottom);
Drawables (있는 경우)를 텍스트의 왼쪽, 위, 오른쪽 및 아래에 표시하도록 설정합니다. Drawable을 원하지 않으면 null을 사용하십시오. Drawables에는 이미 setBounds (Rect)가 호출되어 있어야합니다 .
Drawable top = getResources().getDrawable(R.drawable.image);
button.setCompoundDrawablesWithIntrinsicBounds(null, top , null, null);
final Drawable drawableTop = getResources().getDrawable(R.drawable.btn_check_buttonless_on);
btnByCust.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btnByCust.setCompoundDrawablesWithIntrinsicBounds(null, drawableTop , null, null);
}
});
Button button = (Button) findViewById(R.id.button);
button.setCompoundDrawables(left, top, right, bottom);
이 코드를 사용하여 왼쪽에 "Custom image"가있는 "Theme.Holo"버튼을 사용하고 다양한 방식으로 호출되는 함수로 변경 (이미지)합니다.
protected void app_dibujarLogojuego() {
if(bitmaplogojuego!=null){
bitmaplogojuego.recycle();
bitmaplogojuego=null;
}
Drawable LOGO = null;
if(verjuego.equals("COSA1")){ LOGO = getResources().getDrawable(R.drawable.img_logo_COSA1); }
if(verjuego.equals("COSA2")){ LOGO = getResources().getDrawable(R.drawable.img_logo_COSA2); }
if(verjuego.equals("COSA3")){ LOGO = getResources().getDrawable(R.drawable.img_logo_COSA3); }
if(verjuego.equals("COSA4")){ LOGO = getResources().getDrawable(R.drawable.img_logo_COSA4); }
BUTTON_DECLARED_ID.setCompoundDrawablesWithIntrinsicBounds(LOGO, null , null, null);
}
btn.setBackgroundResource(R.drawable.your_image_name_here);
Kotlin을 사용하는 경우 확장 방법을 사용하여 멋지게 보이게 할 수 있습니다.
fun TextView.setDrawableTop(iconId: Int) {
val icon = this.context?.resources?.getDrawable(iconId)
this.setCompoundDrawablesWithIntrinsicBounds(null, icon, null, null)
}
그런 다음 다음과 같이 사용할 수 있습니다.
// myTextView: TextView
myTextView.setDrawableTop(R.drawable.ic_happy)
이와 같은 확장 기능을 만들고 다음 drawable
과 같이 설정 하십시오.
tvAccepted.setTopDrawable(R.drawable.ic_preparing_order_active)
fun TextView.setTopDrawable(icon: Int) {
this.setCompoundDrawablesRelativeWithIntrinsicBounds(0,icon,0,0)
}
어디
setCompoundDrawablesRelativeWithIntrinsicBounds(left/start, top, right/end, bottom)
반응형
'developer tip' 카테고리의 다른 글
주의 첫 번째 월요일 날짜를 확인 하시겠습니까? (0) | 2020.12.06 |
---|---|
SELECT 쿼리 빈 결과에 대한 간단한 확인 (0) | 2020.12.06 |
ColorFilter 제거 / setColorFilter 실행 취소 (0) | 2020.12.06 |
CLLocationCoordinate2D가 비어 있지 않은지 확인하는 방법은 무엇입니까? (0) | 2020.12.06 |
모든 경우에 5 자리 숫자를 생성하는 JavaScript 표현식 (0) | 2020.12.06 |