상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
액상과당이 포함된 간식의 예는 무엇인가요?
액상과당의 섭취가 생리주기에 미치는 영향은 무엇인가요?
천운을 믿는 사람들의 심리적 특징은 무엇인가요?
천운을 높이기 위한 커뮤니티 활동은 어떤 것이 있나요?
방카르 도그는 어떤 종류의 운동이 필요한가요?
방카르 도그는 어떤 기후에서 잘 지내나요?
마르코 폴로의 여행이 다른 탐험가들에게 미친 영향은 무엇인가요?
석조건축에서의 친환경적 접근은 무엇인가요?
목조건축의 공간 분할 방법은?
싱가포르의 대중교통 이용 방법은?
싱가포르에서의 여행 중 추천하는 전통 음식점은?
BRICS 국가들의 금융 시장은 어떻게 다르나요?
Previous
Next
수정하기 - HorizontalScrollView에서 뷰 활성화/비활성화를 어떻게 구현하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`HorizontalScrollView`에서 뷰의 활성화 및 비활성화는 `View` 클래스의 `setEnabled(boolean enabled)` 메서드를 사용하여 쉽게 구현할 수 있습니다. `setEnabled` 메서드는 뷰가 사용자 입력 이벤트를 수신할 수 있는지 여부를 설정합니다. 여기서는 `HorizontalScrollView` 내의 자식 뷰들을 활성화 또는 비활성화하는 방법을 설명하겠습니다. 예제 코드 ```java import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.HorizontalScrollView; import android.widget.LinearLayout; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private HorizontalScrollView horizontalScrollView; private LinearLayout linearLayout; private Button toggleButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); horizontalScrollView = findViewById(R.id.horizontalScrollView); linearLayout = findViewById(R.id.linearLayout); toggleButton = findViewById(R.id.toggleButton); // 뷰 추가 (예: 버튼들) for (int i = 0; i < 10; i++) { Button button = new Button(this); button.setText("Button " + (i + 1)); linearLayout.addView(button); } // 버튼 클릭 리스너 설정 toggleButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 현재 상태에 따라 뷰 활성화/비활성화 boolean isEnabled = linearLayout.getChildAt(0).isEnabled(); setViewsEnabled(!isEnabled); } }); } private void setViewsEnabled(boolean enabled) { // LinearLayout 내의 모든 자식 뷰 설정 for (int i = 0; i < linearLayout.getChildCount(); i++) { View child = linearLayout.getChildAt(i); child.setEnabled(enabled); // 활성화 상태에 따라 뷰의 외관 변경 (예: 색상 변경) child.setAlpha(enabled ? 1.0f : 0.5f); // 활성화시 충족 100%, 비활성화시 50% } } } ``` XML Layout (activity_main.xml) ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/toggleButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Toggle Views" /> <HorizontalScrollView android:id="@+id/horizontalScrollView" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/linearLayout" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </HorizontalScrollView> </LinearLayout> ``` 설명 1. 뷰 추가 : `HorizontalScrollView` 내에 여러 개의 버튼을 추가합니다. 2. 활성화/비활성화 버튼 : 클릭하면 자식 뷰들의 활성화 상태를 토글합니다. 3. `setViewsEnabled` 메서드 : 모든 자식 뷰의 활성화 상태를 변경하고, 비활성화된 경우 시각적으로 구분하기 위해 알파 값을 조정합니다. 이 예제는 기본적인 구조를 제공하며, 필요에 따라 추가적인 스타일링이나 로직을 추가하여 확장할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기