โอเคฉันกำลังไปรอบ ๆ และไปที่โพสต์นี้หลายครั้งดังนั้นฉันคิดว่ามันจะดีที่จะอธิบายไม่เพียง แต่สำหรับ Sherlock แต่สำหรับ appcompat ด้วย:
ความสูงของแถบการกระทำโดยใช้ appCompat
ค่อนข้างคล้ายกับคำอธิบาย @Anthony คุณสามารถค้นหาได้ด้วยรหัสต่อไปนี้ (ฉันเพิ่งเปลี่ยนรหัสทรัพยากร):
TypedValue tv = new TypedValue();
if (getActivity().getTheme().resolveAttribute(R.attr.actionBarSize, tv, true))
{
int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
ปัญหาพื้นฐานของแซนด์วิช
ฉันต้องการความสูงของแถบการกระทำเนื่องจากอุปกรณ์ ICE_CREAM_SANDWITCH ก่อนหน้านี้มุมมองของฉันซ้อนทับแถบแอ็คชัน ฉันลองตั้งค่า android: layout_marginTop = "? android: attr / actionBarSize", android: layout_marginTop = "? attr / actionBarSize", การตั้งค่าเหลื่อมกันเพื่อดู / actionbar และแม้แต่ความสูงของ actionbar คงที่ด้วยธีมที่กำหนดเอง แต่ไม่มีอะไรทำงาน นั่นคือวิธีที่มันดู:
น่าเสียดายที่ฉันพบว่าด้วยวิธีการที่อธิบายไว้ข้างต้นฉันได้ครึ่งหนึ่งของความสูง (ฉันคิดว่าแถบตัวเลือกไม่ได้อยู่ในสถานที่) เพื่อแก้ไข isue อย่างสมบูรณ์ฉันต้องเพิ่มความสูงสองเท่าของแถบแอ็คชั่น
หากมีคนรู้วิธีแก้ปัญหาที่ดีกว่า (มากกว่าการกระทำสองเท่า BarHeight) ฉันยินดีที่จะแจ้งให้ฉันทราบเมื่อฉันมาจากการพัฒนา iOS และฉันพบว่าสิ่งต่าง ๆ ในมุมมอง Android ดูค่อนข้างสับสน :)
ความนับถือ,
hris.to