Tôi muốn thay đổi màu của đường kẻ phân cách ListView
. Bất kỳ trợ giúp sẽ được đánh giá cao.Làm thế nào để thay đổi màu sắc của dòng phân cách ListView Android?
Trả lời
Bạn có thể đặt giá trị này trong tệp xml bố cục bằng cách sử dụng android:divider="#FF0000"
. Nếu bạn đang thay đổi màu sắc/drawable, bạn phải thiết lập/thiết lập lại chiều cao của divider quá.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:divider="#FFCC00"
android:dividerHeight="4px"/>
</LinearLayout>
Hoặc bạn có thể mã hóa nó:
int[] colors = {0, 0xFFFF0000, 0}; // red for the example
myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
myList.setDividerHeight(1);
Hy vọng nó giúp
Hoàn hảo, các mục của tôi nằm trên nền gradient màu đỏ và hiệu ứng của bạn khiến chúng trở nên tuyệt vời !! – Darkendorf
nếu bạn mở rộng ListActivity, thay thế danh sách của tôi bằng getListView() – Aziz
Đối với việc sử dụng dòng màu duy nhất:
list.setDivider(new ColorDrawable(0x99F10529)); //0xAARRGGBB
list.setDividerHeight(1);
Điều quan trọng là DividerHeight được thiết lập sau khi divider, nếu không bạn sẽ không nhận được gì.
Cảm ơn bạn, tôi đã gọi setDividerHeight() trước khi setDivider() và không có dải phân cách nào được hiển thị. –
Nhận xét rất hữu ích về thứ tự các hoạt động. Tôi chỉ mất 2 giờ để làm cho nó hoạt động. Thiết kế đẹp, Android. –
Bạn cũng có thể nhận được các màu sắc từ các nguồn lực của bạn bằng cách sử dụng:
dateView.setDivider(new ColorDrawable(_context.getResources().getColor(R.color.textlight)));
dateView.setDividerHeight(1);
Sử dụng android:divider="#FF0000"
và android:dividerHeight="2px"
cho ListView.
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="#0099FF"
android:dividerHeight="2px"/>
Phiên bản XML cho @Asher Aslan hiệu ứng nguội.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="180"
android:startColor="#00000000"
android:centerColor="#FFFF0000"
android:endColor="#00000000"/>
</shape>
tên cho hình dạng như: list_driver.xml dưới thư mục drawable
<ListView
android:id="@+id/category_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="@drawable/list_driver"
android:dividerHeight="5sp" />
Có hai cách để làm điều tương tự:
Bạn có thể thiết lập giá trị của android : divider = "# FFCCFF" trong tệp xml bố cục. Với điều này, bạn cũng phải chỉ định chiều cao của dải phân cách như thế này android: dividerHeight = "5px".
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/lvMyList" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="#FFCCFF" android:dividerHeight="5px"/> </LinearLayout>
Bạn cũng có thể làm điều này bằng lập trình ...
ListView listView = getListView(); ColorDrawable myColor = new ColorDrawable( this.getResources().getColor(R.color.myColor) ); listView.setDivider(myColor); listView.setDividerHeight();
Sử dụng dưới mã trong tập tin xml của bạn
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="#000000"
android:dividerHeight="1dp">
</ListView>
Tốt nhất là giải thích một chút về lý do giải pháp của bạn hoạt động. Các câu trả lời chỉ có mã có thể khắc phục vấn đề nhưng điều đó không nhất thiết phải trả lời câu hỏi của người hỏi. – SuperBiasedMan
- 1. Android - Làm thế nào để thay đổi màu sắc của một scrollview/ListView thanh cuộn (xem quyết định ví dụ.)
- 2. Làm thế nào để thay đổi màu sắc của dòng trong ICS theo kiểu EditText
- 3. Làm thế nào để thay đổi màu sắc của phân tán trong ggplot2
- 4. Làm thế nào để thay đổi màu sắc của siêu liên kết trong android
- 5. WPF: Làm thế nào để animate thay đổi màu sắc?
- 6. Làm thế nào để thay đổi màu sắc của hud nơi màu xám
- 7. Thay đổi màu sắc được sử dụng trong dòng listSeparatorTextViewStyle
- 8. Làm thế nào để thay đổi màu sắc của khởi động chuyển đổi thả xuống Bootstrap?
- 9. Làm thế nào để thay đổi màu sắc của TabIndicater trong PagerTabStrip
- 10. Làm thế nào để thay đổi màu sắc thanh tiêu đề trong hoạt động Android?
- 11. UIRefreshControl thay đổi màu sắc của UIActivityIndicatorView
- 12. Làm thế nào để thay đổi màu sắc của một kết cấu với GLSL?
- 13. Thay đổi màu sắc biên giới EditText
- 14. Làm thế nào để thay đổi màu nền của một phân mục listview bằng giá trị riêng của nó
- 15. Thay đổi màu sắc động của jQuery
- 16. làm thế nào để thay đổi màu sắc của một cột trong datagridview?
- 17. Extjs 4: làm thế nào để thay đổi màu sắc của thanh tiến trình?
- 18. GWT Canvas: làm thế nào để thay đổi dòng màu
- 19. cách thay đổi màu tiêu điểm của EditText trong Android
- 20. Làm thế nào để thay đổi màu sắc của một thanh công cụ ngày tháng jquery
- 21. làm thế nào để thay đổi màu sắc của winform DataGridview tiêu đề?
- 22. Làm thế nào để thay đổi màu sắc của thanh tiêu đề xem RCP Eclipse
- 23. Làm cách nào để thay đổi màu của textView android.R.layout.simple_spinner_dropdown_item?
- 24. cách thay đổi màu sắc của bảng trong vaadin
- 25. JLabel thay đổi màu sắc
- 26. Làm thế nào để vẽ một màu gradient trong Android trên Canvas với màu sắc thay đổi?
- 27. JavaFX ProgressBar: làm thế nào để thay đổi màu sắc thanh?
- 28. Làm thế nào để thay đổi màu nền của bảng phân cảnh trong Xcode?
- 29. Làm thế nào để thay đổi màu sắc hình dạng động?
- 30. Làm thế nào để thay đổi màu sắc văn bản spinner
Bạn cũng nên có thể xác định một ' Tài nguyên có thể draw' trong 'android: divider' là tốt. Dải phân cách hiện tại là một gradient. – CommonsWare
Dải phân cách gradient hiện tại ở đâu? – ninjasense
Nếu bạn làm điều đó trong XML, hãy chắc chắn để xem chiều cao cũng bằng cách sử dụng android: dividerHeight nếu không bạn sẽ không nhận được dòng –