คำถามติดแท็ก android-layout

โครงร่างกำหนดโครงสร้างที่มองเห็นได้สำหรับส่วนติดต่อผู้ใช้เช่น UI สำหรับกิจกรรมส่วนหรือวิดเจ็ตแอป

5
แอนดรอยด์ clipToPadding มีอะไรบ้าง
ฉันต้องการที่จะรู้ว่าสิ่งที่clipToPaddingคุณลักษณะทำViewGroupใน Android ฉันเคยผ่าน docs และบางเว็บไซต์แล้ว แต่ไม่มีฉันเจอจริง ๆ แล้วอธิบายสิ่งที่มันทำและสิ่งที่มันหมายถึงไม่มีใครที่ฉันสามารถเข้าใจได้จริงดังนั้นฉันคิดว่ามันเป็นความคิดที่ดีที่จะถามที่นี่

8
แถบเครื่องมือซ้อนทับด้านล่างแถบสถานะ
ฉันต้องการให้แถบเครื่องมือ appcompat v21 ในกิจกรรมของฉัน แต่แถบเครื่องมือที่ฉันใช้อยู่นั้นวางซ้อนกันด้านล่างแถบสถานะ ฉันจะแก้ไขได้อย่างไร นี่คือโครงร่างกิจกรรม xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include android:id="@+id/toolbar" layout="@layout/toolbar" /> <FrameLayout android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout> มุมมองแถบเครื่องมือ: <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" /> สไตล์ของธีม: <style name="AppTheme" parent="MaterialNavigationDrawerTheme.Light.DarkActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary_dark</item> <item name="colorAccent">@color/accent</item> </style>

10
ปิดใช้งานคีย์บอร์ดอ่อนใน NumberPicker
ฉันกำลังพยายามปิดใช้งานแป้นพิมพ์อ่อนเมื่อใช้ NumberPicker เพื่อป้อนค่าตัวเลข (เพื่อเหตุผลด้านสุนทรียภาพ) นี่คือเลย์เอาต์ของฉัน xml-code: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginBottom="30dp" android:layout_marginTop="30dp" > <NumberPicker android:id="@+id/repetitionPicker" android:layout_width="40dp" android:layout_height="wrap_content" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="@string/repetitions_short_divider" android:textAppearance="?android:attr/textAppearanceMedium" /> <NumberPicker android:id="@+id/weightPicker" android:layout_width="40dp" android:layout_height="wrap_content" android:layout_marginLeft="40dp" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="@string/pounds" android:textAppearance="?android:attr/textAppearanceMedium" /> …

3
ทำไม LayoutInflater จึงเพิกเฉยต่อพารามิเตอร์เลย์เอาต์ layout_width และ layout_height ที่ฉันระบุ?
ฉันมีปัญหาร้ายแรงในการทำให้ LayoutInflater ทำงานตามที่คาดไว้และคนอื่น ๆ ก็ทำเช่นนั้น: จะใช้ layoutinflator เพื่อเพิ่มมุมมองได้อย่างไร . เหตุใด LayoutInflater จึงไม่สนใจพารามิเตอร์โครงร่างที่ฉันได้ระบุไว้ ยกตัวอย่างเช่นทำไมXML layout_widthและlayout_heightค่าจากทรัพยากรของฉันจึงไม่ได้รับเกียรติ

13
ตั้งค่าสีรูปร่างหุ่นยนต์โดยทางโปรแกรม
ฉันกำลังแก้ไขเพื่อทำให้คำถามง่ายขึ้นโดยหวังว่าจะช่วยให้ได้คำตอบที่ถูกต้อง บอกว่าฉันมีovalรูปร่างดังต่อไปนี้: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:angle="270" android:color="#FFFF0000"/> <stroke android:width="3dp" android:color="#FFAA0055"/> </shape> ฉันจะตั้งค่าสีโดยทางโปรแกรมจากภายในคลาสกิจกรรมได้อย่างไร


2
เนมสเปซ 'Android' ใน Android XML คืออะไร
นี่คือตัวอย่างของappเนมสเปซที่ฉันเห็นจากres/menu/main.xmlไฟล์ <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity" > <item android:id="@+id/action_settings" android:title="@string/action_settings" android:orderInCategory="100" app:showAsAction="never" /> </menu> appเนมสเปซมีจุดประสงค์อะไร เป็นเนมสเปซ Android มาตรฐาน "มาตรฐาน" หรือไม่ เป็นตัวเลือกค่าเดียวกันสำหรับแอตทริบิวต์เดียวกันที่อยู่ในเนมสเปซที่แตกต่างกันสองรายการ (เช่นapp:showAsActionและandroid:showAsAction) จากเอกสาร : android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"] นั่นคือบรรทัดในตัวอย่างด้านบนจะมีความหมายอย่างอื่นหากแอตทริบิวต์เป็นแทน: android:showAsAction="never" ดูเหมือนว่ามันอาจเป็นกลไก "subclassing" แต่ฉันไม่สามารถหาเอกสารจริงในappnamespace จาก Google / Android ได้

15
วิธีปรับเลย์เอาต์เมื่อคีย์บอร์ดนุ่มปรากฏขึ้น
ฉันต้องการที่จะปรับ / ปรับขนาดเค้าโครงเมื่อเปิดใช้งานแป้นพิมพ์นุ่ม ๆ ดังต่อไปนี้: ก่อนและหลัง: พบแหล่งข้อมูลคู่ใน SO: วิธีการทำให้ฟิลด์และข้อความทั้งหมดสามารถมองเห็นได้ในขณะที่แสดงคีย์บอร์ดอ่อน แป้นพิมพ์อ่อนนุ่มของ Android จะทำลายรูปแบบเมื่อปรากฏขึ้น ปรับเค้าโครงเมื่อเปิดคีย์บอร์ดอ่อน แต่คำถาม & คำตอบนั้นค่อนข้างคลุมเครือนี่เป็นคำถามที่มีภาพที่ชัดเจนกว่าสิ่งที่ฉันต้องการ ที่ต้องการ: ควรทำงานบนโทรศัพท์ทุกขนาดหน้าจอ สังเกตเห็นว่าระยะขอบ / ช่องว่างภายในที่ "FACEBOOK" และ "สมัครใช้งาน Facebook" มีการเปลี่ยนแปลงก่อนและหลัง ไม่มีส่วนเกี่ยวข้องกับมุมมองเลื่อน


15
เส้นแนวตั้งโดยใช้ XML drawable
ฉันพยายามหาวิธีกำหนดเส้นแนวตั้ง (หนา 1dp) เพื่อใช้เป็น drawable หากต้องการสร้างแนวนอนมันค่อนข้างตรงไปตรงมา: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp" android:color="#0000FF"/> <size android:height="50dp" /> </shape> คำถามคือทำอย่างไรถึงจะทำให้บรรทัดนี้เป็นแนวดิ่ง ใช่มีวิธีแก้ไขปัญหาเช่นการวาดรูปสี่เหลี่ยมผืนผ้าหนา 1px แต่จะทำให้ XML ที่วาดได้ซับซ้อนขึ้นหากประกอบไปด้วย<item>องค์ประกอบหลายอย่าง ใครมีโอกาสกับเรื่องนี้? UPDATE เคสยังไม่ได้รับการแก้ไข อย่างไรก็ตามสำหรับทุกคนในสงครามครูเสดเอกสาร Android - คุณอาจพบว่ามีประโยชน์นี้: คู่มือ Android XML หายไป UPDATE ฉันไม่พบวิธีอื่นนอกจากวิธีที่ฉันทำเครื่องหมายว่าถูกต้อง มันหลอกลวง แต่รู้สึกว่า "หนัก" เล็กน้อยดังนั้นถ้าคุณรู้คำตอบอย่าลืมแบ่งปัน;)

30
เกิดข้อผิดพลาดในการขยายแฟรกเมนต์ของคลาส
ฉันได้รับข้อผิดพลาด Unable to start activity ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment เมื่อฉันสลับผ่านแนวตั้งและโหมดแนวนอน ฉันกำลังใช้ชิ้นส่วน xml ของฉันคือ: <LinearLayout android:id="@+id/mainLayout" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" > <ListView android:id="@+id/android:list" android:layout_height="wrap_content" android:layout_width="fill_parent"/> <fragment android:id="@+id/fragmentDetails" android:layout_height="fill_parent" android:layout_width="fill_parent" class="de.androidbuch.activiti.task.TaskDetailsFragment"/> </LinearLayout> ถ้าฉันสลับผ่านโหมดแนวนอนและแนวตั้งทุกอย่างทำงานได้ดี แต่เมื่อฉันคลิกที่แฟรกเมนต์ของฉัน (และฉันสามารถเห็นแฟรกเมนต์ของฉัน) จากนั้นสลับไปที่โหมดอื่นฉันได้รับข้อผิดพลาด ความคิดใดที่ฉันสามารถแก้ไขได้? พบคำตอบที่นี่ แต่ไม่มีคำตอบใด ๆ ที่ช่วยฉัน ... 06-21 14:55:05.600: ERROR/AndroidRuntime(7636): FATAL …


6
ทำไมน้ำหนักที่ซ้อนกันถึงไม่ดีสำหรับประสิทธิภาพ ทางเลือก?
ฉันเขียนไฟล์เลย์เอาต์สองชุดที่ฉันใช้layout_weightคุณลักษณะเพื่อสร้างอัตราส่วนระหว่างมุมมองที่แตกต่างกัน เมื่อถึงจุดหนึ่งฉันเริ่มได้รับคำเตือนที่เป็นขุยเกี่ยวกับน้ำหนักที่ซ้อนกัน ดังนั้นฉันจึงสงสัยว่าทำไมน้ำหนักที่ซ้อนกันไม่ดีสำหรับประสิทธิภาพและหากมีวิธีที่มีประสิทธิภาพมากกว่าในการสร้างอัตราส่วนคงที่ระหว่างขนาดมุมมองที่สามารถใช้กับขนาดหน้าจอที่แตกต่างกันและไม่จำเป็นต้องระบุค่า dpi มิติจำนวนมาก ถึงหลายรูปแบบไฟล์ (สำหรับขนาดหน้าจอที่แตกต่างกันฉันหมายถึง) ขอบคุณ!

11
ฉันจะเปลี่ยนสีข้อความปุ่มเริ่มต้นใน Android 5 ได้อย่างไร
ฉันมีกล่องโต้ตอบการแจ้งเตือนมากมายในแอพของฉัน เป็นเค้าโครงเริ่มต้น แต่ฉันเพิ่มปุ่มบวกและลบในกล่องโต้ตอบ ดังนั้นปุ่มจะได้รับสีข้อความเริ่มต้นของ Android 5 (สีเขียว) ฉันพยายามเปลี่ยนมันโดยไม่ประสบความสำเร็จ ความคิดใด ๆ วิธีการเปลี่ยนสีของข้อความนั้น? กล่องโต้ตอบที่กำหนดเองของฉัน: public class MyCustomDialog extends AlertDialog.Builder { public MyCustomDialog(Context context,String title,String message) { super(context); LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); View viewDialog = inflater.inflate(R.layout.dialog_simple, null, false); TextView titleTextView = (TextView)viewDialog.findViewById(R.id.title); titleTextView.setText(title); TextView messageTextView = (TextView)viewDialog.findViewById(R.id.message); messageTextView.setText(message); this.setCancelable(false); this.setView(viewDialog); …


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.