Thật không may, đây không phải là một nhiệm vụ đặc biệt đơn giản để hoàn thành. Trong câu trả lời của tôi ở đây , tôi trình bày chi tiết cách điều chỉnh màu của a ListSeparator
bằng cách chỉ kiểm tra kiểu gốc mà Android sử dụng, tạo hình ảnh mới và tạo kiểu mới dựa trên kiểu gốc. Thật không may, không giống như ListSeparator
kiểu của ', AlertDialog
các chủ đề là nội bộ, và do đó không thể được tham chiếu như kiểu mẹ. Không có cách nào dễ dàng để thay đổi đường nhỏ màu xanh lam đó! Vì vậy, bạn cần phải sử dụng đến các hộp thoại tùy chỉnh.
Nếu đó không phải là tách trà của bạn ... đừng bỏ cuộc! Tôi rất băn khoăn rằng không có cách nào dễ dàng để làm điều này, vì vậy tôi đã thiết lập một dự án nhỏ trên github để tạo các hộp thoại kiểu holo tùy chỉnh nhanh chóng (giả sử rằng điện thoại hỗ trợ kiểu Holo). Bạn có thể tìm thấy dự án tại đây: https://github.com/danoz73/QustomDialog
Nó sẽ dễ dàng cho phép chuyển từ màu xanh lam nhàm chán sang màu cam thú vị!
Dự án về cơ bản là một ví dụ về việc sử dụng trình tạo hộp thoại tùy chỉnh và trong ví dụ này, tôi đã tạo một chế độ xem tùy chỉnh dường như phục vụ cho ví dụ Địa chỉ IP mà bạn đưa ra trong câu hỏi ban đầu của mình.
Với QustomDialog
, để tạo một hộp thoại cơ bản (tiêu đề, thông báo) với màu khác mong muốn cho tiêu đề hoặc dấu phân cách, bạn sử dụng mã sau:
private String HALLOWEEN_ORANGE = "#FF7F27";
QustomDialogBuilder qustomDialogBuilder = new QustomDialogBuilder(v.getContext()).
setTitle("Set IP Address").
setTitleColor(HALLOWEEN_ORANGE).
setDividerColor(HALLOWEEN_ORANGE).
setMessage("You are now entering the 10th dimension.");
qustomDialogBuilder.show();
Và để thêm bố cục tùy chỉnh (giả sử thêm địa chỉ IP nhỏ EditText
), bạn thêm
setCustomView(R.layout.example_ip_address_layout, v.getContext())
cho trình tạo với bố cục mà bạn đã thiết kế (ví dụ về IP có thể tìm thấy trong github). Tôi hi vọng cái này giúp được. Rất cảm ơn Joseph Earl và câu trả lời của anh ấy ở đây .