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

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

30
RecyclerView: ตรวจพบความไม่สอดคล้องกัน ตำแหน่งรายการไม่ถูกต้อง
QA ของเราตรวจพบข้อผิดพลาด: เมื่อหมุนอุปกรณ์ Android (Droid Turbo) เกิดข้อผิดพลาดที่เกี่ยวข้องกับ RecyclerViewต่อไปนี้: java.lang.IndexOutOfBoundsException: ตรวจพบความไม่สอดคล้องกัน ตำแหน่งรายการไม่ถูกต้อง 2 (ชดเชย: 2). สถานะ: 3 สำหรับฉันดูเหมือนว่าข้อผิดพลาดภายในใน RecyclerView เนื่องจากฉันไม่สามารถนึกถึงวิธีการใด ๆ ที่เกิดจากรหัสของเราโดยตรง ... มีใครพบปัญหานี้หรือไม่? อะไรจะแก้ปัญหาได้? วิธีแก้ปัญหาที่โหดร้ายอาจจะสามารถจับข้อยกเว้นเมื่อมันเกิดขึ้นและสร้างอินสแตนซ์ของ RecyclverView อีกครั้งตั้งแต่ต้นเพื่อหลีกเลี่ยงการถูกทิ้งให้อยู่ในสถานะที่เสียหาย แต่ถ้าเป็นไปได้ฉันต้องการทำความเข้าใจปัญหาให้ดีขึ้น (และอาจแก้ไขได้ที่แหล่งที่มา) แทนการปิดบัง ข้อผิดพลาดไม่ใช่เรื่องง่ายที่จะทำซ้ำ แต่มันเป็นอันตรายถึงชีวิตเมื่อมันเกิดขึ้น การติดตามสแต็กเต็ม: W/dalvikvm( 7546): threadid=1: thread exiting with uncaught exception (group=0x41987d40) E/AndroidRuntime( 7546): FATAL EXCEPTION: main E/AndroidRuntime( 7546): Process: …

25
Android: วิธีสร้างไดอะล็อกที่ไม่มีชื่อ
ฉันกำลังพยายามสร้างกล่องโต้ตอบที่กำหนดเองใน Android ฉันสร้างกล่องโต้ตอบของฉันเช่นนี้: dialog = new Dialog(this); dialog.setContentView(R.layout.my_dialog); ทุกสิ่งทำงานได้ดียกเว้นชื่อของไดอะล็อก แม้ว่าฉันจะไม่ได้ตั้งชื่อของไดอะล็อกป็อปอัพของกล่องโต้ตอบก็จะมีช่องว่างที่ตำแหน่งของไดอะล็อก มีวิธีซ่อนส่วนนี้ของกล่องโต้ตอบหรือไม่? ฉันลองใช้ AlertDialog แต่ดูเหมือนว่าเลย์เอาต์ไม่ถูกต้อง: LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.map_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(view); // dialog = new Dialog(this); // dialog.setContentView(R.layout.map_dialog); dialog = builder.create(); ((TextView) dialog.findViewById(R.id.nr)).setText(number); ถ้าฉันใช้รหัสนี้ฉันจะได้รับการยกเว้นตัวชี้โมฆะในบรรทัดสุดท้าย กล่องโต้ตอบนั้นไม่ว่างดังนั้น TextView ที่ฉันพยายามเรียกดูไม่มีอยู่ หากฉันยกเลิกการคอมเม้นต์ส่วนที่ฉันใช้ Dialog Constructor ทุกอย่างทำงานได้ดี …

30
มุมมองรายการ Android ภายในมุมมองเลื่อน
ฉันมีเลย์เอาต์ Android ที่มีscrollViewองค์ประกอบจำนวนหนึ่งอยู่ด้วย ที่ด้านล่างของscrollViewฉันมีlistViewอะแดปเตอร์ที่มีประชากรอยู่แล้ว ปัญหาที่ฉันกำลังประสบอยู่ก็คือ Android ไม่รวมตัวlistViewจากรุ่นscrollViewที่scrollViewมีฟังก์ชั่นเลื่อนได้ ฉันต้องการที่listViewจะตราบเท่าที่เนื้อหาเป็นและสำหรับมุมมองเลื่อนหลักที่จะสามารถเลื่อนได้ ฉันจะบรรลุพฤติกรรมนี้ได้อย่างไร นี่คือเค้าโครงหลักของฉัน: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:fillViewport="true" android:gravity="top" > <LinearLayout android:id="@+id/foodItemActvity_linearLayout_fragments" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> </ScrollView> จากนั้นผมก็โปรแกรมเพิ่มคอมโพเนนต์ของฉันไป linearlayour foodItemActvity_linearLayout_fragmentsกับประชาชนได้: ด้านล่างเป็นหนึ่งในมุมมองที่โหลดลงใน linearlayout นั้น นี่คือสิ่งที่ทำให้ฉันมีปัญหากับม้วนกระดาษ <?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="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/fragment_dds_review_textView_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Reviews:" android:textAppearance="?android:attr/textAppearanceMedium" /> <ListView …

9
พื้นหลังไล่ระดับสี LinearLayout ของ Android
ฉันมีปัญหาในการใช้พื้นหลังไล่ระดับสีกับ LinearLayout สิ่งนี้ควรจะค่อนข้างง่ายจากสิ่งที่ฉันได้อ่าน แต่ดูเหมือนจะไม่ทำงาน สำหรับการอ้างอิงฉันกำลังพัฒนาใน 2.1-update1 header_bg.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:angle="90" android:startColor="#FFFF0000" android:endColor="#FF00FF00" android:type="linear"/> </shape> main_header.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="50dip" android:orientation="horizontal" android:background="@drawable/header_bg"> </LinearLayout> ถ้าฉันเปลี่ยน @ drawable / header_bg เป็นสี - เช่น # FF0000 มันทำงานได้อย่างสมบูรณ์แบบ ฉันขาดอะไรบางอย่างชัดเจนที่นี่?

22
วิธีการเปลี่ยนสีของช่องทำเครื่องหมาย?
ฉันจะเปลี่ยนCheckBoxสีเริ่มต้นใน Android ได้อย่างไร โดยค่าเริ่มต้นCheckBoxสีเป็นสีเขียวและฉันต้องการเปลี่ยนสีนี้ ถ้ามันเป็นไปไม่ได้โปรดบอกฉันวิธีการทำที่กำหนดเองCheckBox?


11
วิธีสร้างรายการ RecyclerView ให้เคลื่อนไหวเมื่อปรากฏ
ฉันจะทำให้รายการ RecyclerView เคลื่อนไหวมีการแสดงผลได้อย่างไร แอนิเมชั่นรายการเริ่มต้นจะเคลื่อนไหวเมื่อมีการเพิ่มหรือลบข้อมูลหลังจากตั้งค่าข้อมูลผู้รีไซเคิลแล้วเท่านั้น ฉันเป็นแอปพลิเคชั่นที่กำลังพัฒนาใหม่และไม่มีเงื่อนงำที่จะเริ่ม ความคิดใด ๆ วิธีการบรรลุเป้าหมายนี้?

10
เพิ่มช่องว่างภายในในมุมมองโดยทางโปรแกรม
ฉัน deveoping Android v2.2 แอพ ฉันมีส่วน ในการonCreateView(...)เรียกกลับของคลาสแฟรกเมนต์ของฉันฉันขยายเลย์เอาต์ไปที่แฟรกเมนต์ตามด้านล่าง: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.login, null); return view; } ไฟล์โครงร่างที่พองเกินด้านบนคือ (login.xml): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Username" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Username" /> </LinearLayout> ฉันต้องการตั้งค่าองค์ประกอบpaddingTopข้างต้น<LinearLayout>และฉันต้องการที่จะทำในรหัสJavaแทนทำใน xml วิธีการตั้งค่าpaddingTopการ<LinearLayout>ในส่วนรหัสชั้นเรียนของฉัน …

9
วิธีการจัดโครงสร้าง Views ใน RelativeLayout โดยทางโปรแกรม
ฉันพยายามที่จะบรรลุโปรแกรมต่อไปนี้ (แทนที่จะประกาศผ่าน XML): <RelativeLayout...> <TextView ... android:id="@+id/label1" /> <TextView ... android:id="@+id/label2" android:layout_below: "@id/label1" /> </RelativeLayout> ในคำอื่น ๆ ฉันจะทำให้ที่สองTextViewปรากฏอยู่ด้านล่างหนึ่งคนแรก แต่ฉันต้องการที่จะทำในรหัส: RelativeLayout layout = new RelativeLayout(this); TextView label1 = new TextView(this); TextView label2 = new TextView(this); ... layout.addView(label1); layout.addView(label2); setContentView(layout); ปรับปรุง: ขอบคุณ TreeUK ฉันเข้าใจทิศทางทั่วไป แต่ก็ยังใช้งานไม่ได้ - "B" ทับ "A" ผมทำอะไรผิดหรือเปล่า? RelativeLayout layout …

7
หลีกเลี่ยงการผ่านค่า null ในฐานะรูทมุมมอง (จำเป็นต้องแก้ไขพารามิเตอร์โครงร่างในองค์ประกอบรูทของโครงร่างพอง)
การผ่าน null สำหรับรูทสตูดิโอทำให้ฉันได้รับคำเตือนนี้: หลีกเลี่ยงการผ่านค่า null ในฐานะรูทมุมมอง (จำเป็นต้องแก้ไขพารามิเตอร์โครงร่างในองค์ประกอบรูทของโครงร่างพอง) getGroupViewมันมีการแสดงค่าโมฆะใน กรุณาช่วย. public class ExpandableListAdapter extends BaseExpandableListAdapter { private Context _context; private List<String> _listDataHeader; // header titles // child data in format of header title, child title private HashMap<String, List<String>> _listDataChild; public ExpandableListAdapter(Context context, List<String> listDataHeader, HashMap<String, List<String>> listChildData) { super(); this._context = …

11
การวาง / ทับซ้อนกัน (ดัชนี z) มุมมองด้านบนมุมมองอื่นใน Android
ฉันมีเลย์เอาต์แบบเส้นตรงซึ่งประกอบด้วยภาพและข้อความแบบอักษรซึ่งอยู่ด้านล่างหนึ่งเป็นแบบเชิงเส้น <LinearLayout android:orientation="horizontal" ... > <ImageView android:id="@+id/thumbnail" android:layout_weight="0.8" android:layout_width="0dip" android:layout_height="fill_parent"> </ImageView> <TextView android:id="@+id/description" android:layout_weight="0.2" android:layout_width="0dip" android:layout_height="wrap_content"> </TextView> กฎบางอย่างอาจหายไปนี่คือเพื่อให้ความคิดว่ารูปแบบลักษณะอย่างไร ฉันต้องการมุมมองข้อความขนาดเล็กอีกอันหนึ่งที่บอกว่า 50dip ในความยาวและความกว้างวางเหนือ imageview โดย "เหนือ" ฉันหมายถึง z-index มากกว่า imageview ฉันต้องการวางสิ่งนี้ไว้ที่กึ่งกลางและด้านบน (ทับซ้อน) imageview ฉันต้องการทราบว่าเราจะวางมุมมองหนึ่งมุมมองเหนือมุมมองอื่นได้อย่างไรด้วยดัชนี z ที่ต่างกัน (ควรอยู่ในรูปแบบเชิงเส้น)

13
Android: ตั้งค่าลักษณะมุมมองโดยทางโปรแกรม
นี่คือ XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/LightStyle" android:layout_width="fill_parent" android:layout_height="55dip" android:clickable="true" android:orientation="horizontal" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" /> </RelativeLayout> วิธีการตั้งค่าstyleคุณลักษณะทางโปรแกรม?

17
ฉันจะเปลี่ยนชื่อและไอคอนของ android actionbar ได้อย่างไร
ฉันพยายามทำบางสิ่งบางอย่างกับ ActionBar ใน Android ฉันได้เพิ่มรายการใหม่ทางด้านขวาของแถบการกระทำ ฉันจะเปลี่ยนด้านซ้ายของแถบการกระทำได้อย่างไร ฉันต้องการเปลี่ยนไอคอนและข้อความและฉันต้องการเพิ่ม "ปุ่มย้อนกลับ" ในแถบการกระทำสำหรับหน้าจออื่น

14
วิธีขยายมุมมองหนึ่งด้วยเค้าโครง
ฉันมีเลย์เอาต์ที่กำหนดไว้ใน XML มันมียัง: <RelativeLayout android:id="@+id/item" android:layout_width="fill_parent" android:layout_height="wrap_content" /> ฉันต้องการขยาย RelativeView นี้ด้วยไฟล์เลย์เอาต์ XML อื่น ๆ ฉันอาจใช้เค้าโครงที่แตกต่างกันขึ้นอยู่กับสถานการณ์ ฉันควรทำอย่างไร ฉันลองใช้รูปแบบที่แตกต่างกันของ RelativeLayout item = (RelativeLayout) findViewById(R.id.item); item.inflate(...) แต่ไม่มีใครทำงานได้ดี


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