대화 상자의 헤더 레이아웃을 사용자 정의하려면 어떻게해야합니까?
-
20-09-2019 - |
문제
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);
}
}
제휴하지 않습니다 StackOverflow