티스토리 뷰

디자인 없이 개발을 하다보니 직접 찾아서 해야하는게 많네요.

색상 버튼을 만들다 동그라미 버튼을 만들어야해서 찾아낸 방법이에요.

 

버튼을 만들어주는 site가 있어요.

http://angrytools.com/android/button/

 

Android Button Maker

 

angrytools.com

동그라미 버튼은 가로,세로 같은 크기로 설정하고

android:radius를 100으로 변경하면 동그라미 버튼이 만들어집니다.

 

button_shape.xml 파일은 drawable 폴더에 복사

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
  <corners
      android:radius="100dp"
  />
  <gradient
    android:angle="45"
    android:centerX="35%"
    android:centerColor="#47A891"
    android:startColor="#E8E8E8"
    android:endColor="#000000"
    android:type="linear"
  />
  <padding
    android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"
  />
  <size
    android:width="60dp"
    android:height="60dp"
  />
  <stroke
    android:width="3dp"
    android:color="#878787"
  />
</shape>

 

레이아웃 xml의 버튼에서 위에 만든 파일을 background로 설정

<Button
  android:id="@+id/angry_btn"

  android:text="Button"
  android:textColor="#FFFFFF"
  android:textSize="30sp"

  android:layout_width="60dp"
  android:layout_height="60dp"
  android:background="@drawable/button_shape"
  android:shadowColor="#A8A8A8"
  android:shadowDx="0"
  android:shadowDy="0"
  android:shadowRadius="5"
/>

 

ColorPicker에 사용하는 버튼이라서

선택된 색상 표시를 해줄 필요가 있다고 생각이되어 배경색을 변경하기 위한 방법

val roundDrawable = resources.getDrawable(R.drawable.button_shape, null)
roundDrawable.setColorFilter(drawingView!!.color, PorterDuff.Mode.SRC_ATOP)

if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) {
	colorBtn.backgroundDrawable = roundDrawable
} else {
	colorBtn.background = roundDrawable
}

출처 : http://naminsik.com/blog/3691

 

라운드 버튼 만들기, shape solid 배경색 변경 | Nam Insik Portfolio site

라운드 버튼 만들기, shape solid 배경색 변경 먼저 res> drawable 안에 xml을 하나 만들어 shape를 추가한다. 본인은 roundbtn.xml이라고 만들었다.           라운드가 각 4방향에 20dp로 라운드되게 만든 shape다. 이제 버튼에 background 에 roundbtn.xml을 추가하자. 이렇게 만들어두기만 하면 괜찮은데 간혹 상황에 따라 동그랗게 만든 버튼의 색이 변경되어야 할 때가 있다. 그런데 바로 버튼에

naminsik.com

 

오늘은 금요일 주간보고하러 갑니다.

'안드로이드' 카테고리의 다른 글

TabLayout의 Tab크기 균등분할(?)  (0) 2020.04.22
ViewModel Fragment에서 초기화  (0) 2020.04.01
Bitmap to Byte Array  (0) 2020.02.21
이미지파일 보기  (0) 2020.01.09
android.os.FileUriExposedException  (0) 2019.12.23