Ok tôi đã đi vòng quanh và nhận được bài đăng này nhiều lần vì vậy tôi nghĩ sẽ rất tốt khi được mô tả không chỉ cho Sherlock mà còn cho cả appcompat:
Chiều cao thanh hành động bằng appCompat
Khá giống với mô tả @Anthony bạn có thể tìm thấy nó với đoạn mã sau (Tôi vừa thay đổi id tài nguyên):
TypedValue tv = new TypedValue();
if (getActivity().getTheme().resolveAttribute(R.attr.actionBarSize, tv, true))
{
int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
Vấn đề trước Sandwitch
Tôi cần chiều cao của thanh hành động vì trên các thiết bị ICE_CREAM_SANDWITCH trước, chế độ xem của tôi nằm trên thanh hành động. Tôi đã thử cài đặt android: layout_marginTop = "? Android: attr / actionBarSize", android: layout_marginTop = "? Attr / actionBarSize", thiết lập chồng chéo để xem / thanh hành động và thậm chí cố định chiều cao của thanh hành động với chủ đề tùy chỉnh nhưng không có gì hiệu quả. Đó là cách nó trông:
Thật không may, tôi phát hiện ra rằng với phương pháp được mô tả ở trên, tôi chỉ nhận được một nửa chiều cao (tôi cho rằng thanh tùy chọn không được đặt đúng chỗ) vì vậy để khắc phục hoàn toàn vấn đề tôi cần tăng gấp đôi chiều cao của thanh hành động và mọi thứ có vẻ ổn:
Nếu ai đó biết giải pháp tốt hơn (hơn là nhân đôi hành độngBarHeight) tôi sẽ vui mừng cho tôi biết khi tôi đến từ sự phát triển của iOS và tôi thấy hầu hết các công cụ của chế độ xem Android khá khó hiểu :)
Trân trọng,
hris.to