Tôi gặp phải sự cố với chế độ xem Button
khi tôi đặt nền cho chế độ nền bằng cách sử dụng thuộc tính android:background
trong xml. Trước khi tôi đặt nền, nút có kích thước mặc định của nó. Nhưng khi tôi áp dụng màu làm nền, nó trở nên to hơn, mặc dù tôi không đặt một số khác nhau là width
hoặc height
trên đó.Tại sao nút lớn hơn khi nền được đặt trong android
Đây là bố cục xml của tôi trước khi tôi đặt thuộc tính nền cho nút
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:background="@color/white"
android:layout_gravity="center_horizontal"
android:id="@+id/btn_row_option_done"
android:text="Done"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:background="@color/white"
android:layout_gravity="center_horizontal"
android:text="Edit"
android:id="@+id/btn_row_option_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_gravity="center_horizontal"
android:text="Delete"
android:id="@+id/btn_row_option_delete"
android:background="@color/red"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_gravity="center_horizontal"
android:text="Cancel"
android:id="@+id/btn_row_option_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Vì vậy, các nút hủy là kích thước mặc định như trong ảnh chụp màn hình.
Nhưng khi tôi thiết lập một màu vào nút hủy như thế này
<Button
android:background="@color/white"
android:layout_gravity="center_horizontal"
android:text="Cancel"
android:id="@+id/btn_row_option_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Sau đó các nút được lớn hơn kích thước mặc định, mặc dù tôi đã không làm cho chiều rộng hoặc chiều cao lớn hơn .
Đây là ảnh chụp màn hình
Như bạn có thể nhìn thấy phía trên nút hủy trở nên lớn hơn. Thực ra tôi đang thiết lập màu nền. Làm thế nào tôi có thể sửa chữa nó để có được kích thước mặc định ngay cả sau khi tôi thiết lập màu nền?
@WaiYanHein có, vì những lý do được giải thích ở trên. Bạn đang thay thế ** background ** bằng 'ColorDrawable' sẽ lấp đầy chế độ xem * toàn bộ *. Bạn chỉ cần sử dụng 'backgroundTint' để thay đổi màu sắc, hoặc tạo một drawable tùy chỉnh và áp dụng một số padding –
Xin lỗi. Nó đã làm việc. Cảm ơn. Nó không sự kiện phá vỡ mã java hiện có. Đúng ? –
@WaiYanHein nếu bạn sử dụng AppCompat nó sẽ hoạt động tốt. Đó là những gì compat ứng dụng là dành cho –