본문 바로가기

전체 글424

[Android] EditText 밑줄제거 및 커서 커스텀 EditText를 사용하면 EditText의 너비만큼 자동으로 밑줄이 생성되어있다. 기본으로 생성되는 밑줄 이 밑줄을 제거하기 위해서는 EditText의 속성에 android:background="@android:color/transparent" 혹은 android:background="@null" 로 밑줄을 제거할 수 있다. 밑줄이 제거된 상태 그런데 이렇게되면 텍스트창의 커서까지도 사라져버린다. 이 커서를 다시 만들어주기 위해서 /res/drawable 폴더에 text_cursor.xml 파일을 만든다. 이 때, cursor의 색상은 미리 /res/values/colors 폴더에 지정해놓는다. /res/drawable/text_cursor.xml 그 다음에 EditText의 속성에 android:te.. 2023. 4. 24.
[Android] 스크롤시 상단바 숨기기, CoordinatorLayout 앱들을 사용하다 보면 스크롤할 때나 상단에 검색 툴바, 하단의 바가 사라질 때가 있고 나타날 때가 있다. 이러한 효과를 사용해보기 위함도 있고 코드본을 가지고 있기 위해 구현해 보았다. CoordinatorLayout 먼저 숨김처리 효과를 구현하기 위해 CoordinatorLayout을 사용해야 한다. CoordinatorLayout의 Behavior를 통해 자식 뷰들 간에 상호작용을 제공한다. 이 Layout을 이용하면 자식 뷰들을 드래그하여 움직이는 것도 가능하고 패널을 스와이프 해 지우기 또는 애니메이션 적용 등 다양한 기능을 활용할 수 있다고 한다. AppBarLayout LinearLayout을 상속한 스크롤 제스처에 몇 가지 동작을 할 수 있다. 이 레이아웃은 자식으로 ToolBar를 지니고 .. 2023. 4. 18.
[Android] TableLayout TableLayout(테이블 레이아웃)은 뷰를 격자 형태로 배치한다. 여러 개의 뷰를 동일한 크기로 배치해야할 때 유용하게 사용할 수 있다. 다른 레이아웃들이 ViewGroup을 상속받는 것과 달리, TableLayout은 LinearLayout을 상속받는 레이아웃이다. 사용 방법 격자의 가장 바깥쪽 가장자리에 해당하는 부분을 TableLayout 태그로 감싼다. 테이블에 들어가는 한 줄에 해당하는 row는 TableRow 태그로 감싼다. TableRow 내부에 가로 방향으로 추가하고 싶은 뷰를 하나씩 추가하면 된다. 이렇게 추가된 뷰 하나 하나가 column의 역할을 한다. 아래는 버튼을 3x2 크기로 배치하는 예제 코드이다. 3개의 column을 가지는 2개의 row가 생기는 것을 알 수 있다. 테이.. 2023. 4. 17.
[Android] Dialog 중복생성 방지 현재 해당 방법은 Deprecate 되었다! 가급적이면 다른 방법을 사용하는게 나을듯 Dialog를 생성할 때, 아래와 같이 AlertDialog 클래스를 이용하여 많이 생성한다. AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setMessage("message:); dialog.setView(view); dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int button) { dialog.dismiss(); finish(); } }); dialog.s.. 2023. 4. 14.
[운동] 핸드스탠드 푸시업 첫 성공! 평소 와드 할때 핸드스탠드 푸시업이 와드로 나오면 매일 파이크 푸시업으로 와드 진행하다가 약 2주전(아마 2023.03.31?) 부터 핸드스탠드 푸시업을 운동끝난 후에 추가운동으로 하루에 약 30 ~ 1시간정도 연습해서 오늘 핸드스탠드 푸시업 첫 성공! 처음 연습을 시작할때는 핸드스탠드도 제대로 안돼서 허공에 발차기만 1시간씩 하고왔는데 드디어 성공해서 다행이다 ㅠㅠ 다음에 와드로 핸드스탠드 푸시업 나오면 핸푸로 해봐야지.. 2023년 3월 31일 금요일 연습시작 -> 2023년 4월 1일 토요일 핸드스탠드 성공, 핸드스탠드 성공 후 버티기 연습 핸드스탠드 할때마다 약 20 ~ 40초 -> 2023년 4월 6일까지는AB매트 하나 깔아서 연습을 하다가 그 이후는 핸드스탠드 후 AB매트 하나 깔고는 도저히 .. 2023. 4. 13.
[Java] String to JsonArray 변환 String에 json형태의 문자열을 만들어준다. String s = "[{\"addr\":\"전남\"},{\"addr\":\"전북\"},{\"addr\":\"대구\"},"+ "{\"addr\":\"대전\"},{\"addr\":\"경기\"},{\"addr\":\"충북\"},"+ "{\"addr\":\"인천\"},{\"addr\":\"부산\"},{\"addr\":\"울릉\"},"+ "{\"addr\":\"청주\"},{\"addr\":\"충남\"},{\"addr\":\"제주\"},{\"addr\":\"서울\"}]"; 이렇게 들어온 String를 JsonArray형태로 바꿔주는 것 또한 간단하다. -> 즉! JSONArray("JSONArray로 변환할 String"); 이부분만 있으면 JSONArray로 변.. 2023. 4. 13.