안드로이드 토글 버튼 on/off (아이폰 스타일)

2022. 6. 7. 16:32·앱 개발/Java
반응형

 

Toggle button (off)
Toggle button (on)

 

 

 

실제 어플 적용 화면

 

drawable 폴더에 toggle 버튼으로 쓸 on, off 이미지를 각각 넣어줍니다

저는 photoscape X 라는 무료 툴을 사용하여 만들었습니다.

 

 

토글 버튼을 사용할 layout 에 code를 입력해줍니다

 

[.xml]

<ToggleButton
    android:id="@+id/toggleButton1"
    android:layout_width="77dp"
    android:layout_height="44dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_gravity="center"
    android:background="@drawable/toggle_selector"
    android:checked="false" />

 

android:cheked = "false" 혹은 "true"를 이용하여 화면 표출시 toggle button의 on/off를 제어할 수 있습니다.

toggle on/off 활성화를 위해 drawble에 toggle_selector.xml 파일을 만들어줍니다

 

 

[toggle_selecter.xml]

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/toggle_on" android:state_checked="true"/>
    <item android:drawable="@drawable/toggle_off" android:state_checked="false"/>

</selector>

 

이 부분까지만 해도 toggle button이 동작하는 경우가 있는데요 

동작하지 않으신다면 toggle 버튼을 사용할 class 파일에 코드를 입력해주시면 됩니다 

 

 

저는 fragment창에 만들어주었습니다

 

[Fragment.java]

ToggleButton toggleButton;

전역변수로 ToggleButton을 선언해줍니다

 

fragment 창이므로 onCreateView 함수 안에 입력해줬습니다. 

 

@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_temp, container, false);

    toggleButton = view.findViewById(R.id.toggleButton1);
    
    toggleButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(toggleButton.isChecked()) {
                    toggleButton.setChecked(true);
                    Toast.makeText(getActivity(), "on", Toast.LENGTH_SHORT).show();
                }else {
                    Toast.makeText(getActivity(), "off", Toast.LENGTH_SHORT).show();
                }
            }
        });
        
        return view;
        }

 

 

궁금한점은 편하게 댓글 남겨주세요

toggle button 이미지 파일 원하시는 경우에도 댓글 남겨주세요

 

감사합니다

 

 

반응형

'앱 개발 > Java' 카테고리의 다른 글

[안드로이드]ActionBar, ToolBar, 상태 표시줄 커스텀  (0) 2022.07.26
안드로이드 연결된 wifi ssid 정보 얻기  (0) 2022.07.15
안드로이드 레이아웃 백그라운드 배경색 설정(벡터 드로어블 이용)  (0) 2022.04.05
[안드로이드] 웹 서버에 데이터 요청 (Open API 활용)  (0) 2022.03.30
[안드로이드] 서버에 데이터 요청 및 응답 (소켓 통신)  (0) 2022.03.29
'앱 개발/Java' 카테고리의 다른 글
  • [안드로이드]ActionBar, ToolBar, 상태 표시줄 커스텀
  • 안드로이드 연결된 wifi ssid 정보 얻기
  • 안드로이드 레이아웃 백그라운드 배경색 설정(벡터 드로어블 이용)
  • [안드로이드] 웹 서버에 데이터 요청 (Open API 활용)
맨땅
맨땅
다른 개발자분들에게 도움이 되었으면 좋겠습니다
  • 맨땅
    맨땅에 코딩
    맨땅
  • 전체
    오늘
    어제
    • 분류 전체보기 (48)
      • 프로그래밍 지식 (1)
      • 즐거운 웹 개발 (7)
        • Setting (3)
        • 프로그래밍 (1)
        • HTML, CSS (1)
      • 앱 개발 (29)
        • Java (26)
        • Kotlin (0)
        • Setting (2)
        • 프로그래밍 (0)
      • AI (1)
        • Setting2 (0)
        • 프로그래밍 (0)
        • 크롤링 (1)
      • DB (9)
      • ---------------------------.. (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
맨땅
안드로이드 토글 버튼 on/off (아이폰 스타일)
상단으로

티스토리툴바