내 Android 프로젝트에서 이미 사용자 정의 대화 상자를 만들었습니다. SelectColorDialog
이라는 클래스가 확장되어 Dialog
으로 확장되었으므로 사용자는 특정 색상을 선택하기 위해 큰 색상의 행렬을 볼 수 있습니다. 대화 상자는 선택한 색상 값 (Integer
등)을 콜백 기능을 통해 대화 개시 프로그램 (일반적으로 액티비티)에 반환합니다.기존 대화 상자를 기반으로 사용자 지정 DialogPreference를 만들 수 있습니까?
쉬운 사용자 지정 글꼴을 허용하기 위해 유사한 사용자 지정 대화 상자 SelectTypefaceDialog
이 있습니다. 사용 가능한 서체 목록이 ListView
행으로 표시되며 각 행은 이름과 해당 서체에 렌더링 된 연관된 간단한 샘플 텍스트로 식별됩니다. 사용 가능한 글꼴에는 NORMAL, MONOSPACE 등과 같은 일반적인 droid 글꼴과 SDCard의 특정 하위 디렉토리에로드 할 수있는 외부 소스 TTF 글꼴 파일이 포함됩니다.
이러한 사용자 지정 대화 상자는 SharedPreferences, 환경 설정 정의 XML 파일 또는 모든 PreferenceActivity와 함께 직접 사용하도록 설계되지 않았습니다. 대신 각 대화 상자는 사용자가 버튼을 누르거나 메뉴 항목을 통해 모든 활동에서 팝업 될 수 있습니다. 이러한 대화 상자를 만드는 활동 클래스에는 내부 콜백 클래스 인 선택 이벤트 리스너가있어 사용자가 색상이나 글꼴을 선택할 때이를 감지합니다.
이 두 대화 상자에는 확인 및 취소 버튼이 없습니다. 대화 상자에서 해당 색상이나 활자체 값 (암시 적 OK)을 선택하거나 장치의 뒤로 버튼을 눌러 작업을 수행하지 않고 대화 상자를 닫습니다 (암시 적 취소). .
이 두 가지 사용자 지정 대화 상자를 preferences.XML
및 연결된 PreferenceActivity
을 통해 공유 기본 설정 프레임 워크에 통합하고자합니다.
가능한 경우 기존 대화 상자에 두 개의 하위 클래스를 기본으로 두는 것을 선호하지만 그렇게하는 방법은 알 수 없습니다. 내가 할 수 없다고 생각하고, 다시 시작해야하고, 현재 사용자 정의 대화 상자 클래스에있는 모든 Java 코드 (색상 또는 글꼴 표시 및 선택)를 직접 사용자 정의 DialogPreference
클래스에 복사하거나 적용해야합니다. , 아마도 onCreateDialogView()
및/또는 다른 방법을 무시함으로써?