문제

Android에서 대화 상자의 헤더 레이아웃 (아이콘 + 텍스트) 레이아웃을 사용자 정의 할 수 있습니까? 아니면 제목 텍스트의 사용자 정의 문자열 값을 설정할 수 있습니까?

고맙습니다.

도움이 되었습니까?

해결책

대화 상자와 헤더 모두에 대한 사용자 정의 레이아웃을 설정하면 대화 상자의 헤더를 변경할 수 있습니다. 이 방법을 사용하여 헤더를 완전히 제거한 적이 있지만 사용자 정의 헤더에서 작동해야합니다.

dialog = new Dialog(context);
Window window = dialog.getWindow();
window.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
dialog.setContentView(R.layout.my_dialog_layout);
window.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_custom_header);

이것은 모두 더 복잡하지만 (대화 상자의 레이아웃도 설정해야하므로) 서브 클래싱 대화 상자보다 쉽습니다.

다른 팁

원래 대화 상자 클래스는 아이콘을 설정하는 기능이 부족한 것 같습니다. 그러나 AlertDialog를 쉽게 확장하고 사용자 정의보기 (대화 상자 인스턴스에 사용하는 것과 동일)를 설정할 수 있습니다.

 class MyDialog extends AlertDialog {
     public MyDialog(Context ctx) {
        super(ctx);
        LayoutInflater factory = LayoutInflater.from(context);
        View view = factory.inflate(R.layout.dialog_layout, null);
        setView(view);
        setTitle("MyTitle");
        setIcon(R.drawable.myicon);
     }
 }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top