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

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

13
UnsupportedOperationException: ไม่สามารถแปลงเป็นขนาด: type = 0x1
ใน Android ฉันได้รับข้อผิดพลาดต่อไปนี้ในโปรแกรมจำลองและอุปกรณ์มือถือบางเครื่องแต่ไม่มีในแท็บเล็ต : ฉันไม่เข้าใจว่าอะไรคือข้อผิดพลาดจริงๆ? ฉันค้นหาบทเรียนมากมาย แต่ไม่พบวิธีแก้ปัญหาใด ๆ โปรดช่วยฉันแก้ปัญหานี้ หมายเหตุ: ในแอปพลิเคชันนี้ฉันใช้ActionbarSherlockและธีมแล้วฉันอาจได้รับเนื่องจากไลบรารีนั้นหรือปัญหาอื่น ๆ หรือไม่? บันทึกข้อผิดพลาดของฉันคือ: 09-11 17:52:57.342: E/AndroidRuntime(9935): FATAL EXCEPTION: main 09-11 17:52:57.342: E/AndroidRuntime(9935): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createView(LayoutInflater.java:613) 09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 09-11 17:52:57.342: …

6
ใครสามารถอธิบาย attr?
ฉันกำลังดูโค้ดตัวอย่างของ Honeycomb Gallery ( ที่นี่ ) และฉันพบโค้ดต่อไปนี้ในขณะที่พยายามเพิ่มรายการการทำงานในแอปของฉันเอง: <item android:id="@+id/camera" android:title="Camera" android:icon="?attr/menuIconCamera" android:showAsAction="ifRoom" /> ?attrมีการขว้างปาฉันห่วง ใครช่วยอธิบายหน่อยได้ไหมว่ากำลังทำอะไรอยู่ สิ่งนี้เกี่ยวข้องกับสิ่งที่เบิกได้อย่างไร? ฉันไม่พบข้อมูลที่ดีใน Google นอกจากนี้ยังมีรายการหรือแกลเลอรีแอตทริบิวต์ที่เราสามารถใช้สำหรับไอคอนแทนเพียงแค่menuIconCamera? ขอบคุณ แก้ไข: ฉันมองไปรอบ ๆ และพบว่า attrs.xml มีลักษณะดังนี้: <resources> <declare-styleable name="AppTheme"> <attr name="listDragShadowBackground" format="reference" /> <attr name="menuIconCamera" format="reference" /> <attr name="menuIconToggle" format="reference" /> <attr name="menuIconShare" format="reference" /> </declare-styleable> น่าเสียดายที่มันทำให้ฉันสับสนมากขึ้น นี่มันกำลังทำอะไร?

4
ภาพเคลื่อนไหวขนาดภาพของ Android เทียบกับจุดกึ่งกลาง
ฉันมี ImageView และฉันสร้างแอนิเมชั่นสเกลง่ายๆ รหัสมาตรฐานมาก scale_up.xml ของฉัน: <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="1" android:fromYScale="1" android:toXScale="1.2" android:toYScale="1.2" android:duration="175"/> </set> รหัสภาพเคลื่อนไหวของฉัน: Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up); ((ImageView) findViewById(R.id.circle_image)).startAnimation(a); ปัญหา: เมื่อปรับขนาดภาพจะไม่ปรับขนาดจากจุดศูนย์กลาง แต่มาจากมุมซ้ายบน กล่าวอีกนัยหนึ่งการปรับขนาดของรูปภาพไม่มีจุดเดียวกับจุดศูนย์กลาง แต่มีจุดบนซ้ายเหมือนกัน นี่คือลิงค์ที่อธิบายความหมายของฉัน ภาพแรกคือการปรับขนาดของภาพเคลื่อนไหวและภาพที่สองเป็นวิธีที่ฉันต้องการให้ปรับขนาด ควรให้จุดกึ่งกลางเหมือนเดิม ฉันได้ลองตั้งค่าแรงโน้มถ่วงให้กับรูปภาพบนคอนเทนเนอร์จัดแนวซ้ายหรือขวามันจะปรับขนาดเท่ากันเสมอ ฉันใช้ RelativeLayout สำหรับหน้าจอหลักและ ImageView อยู่ใน RelativeLayout อื่น แต่ฉันลองใช้เลย์เอาต์อื่นแล้วไม่มีการเปลี่ยนแปลง

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

8
วิธี Authorative เพื่อแทนที่ onMeasure ()?
วิธีที่ถูกต้องในการแทนที่ onMeasure () คืออะไร? ฉันได้เห็นแนวทางต่างๆ ตัวอย่างเช่นProfessional Android Developmentใช้ MeasureSpec ในการคำนวณขนาดจากนั้นจึงจบลงด้วยการเรียก setMeasuredDimension () ตัวอย่างเช่น: @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ int parentWidth = MeasureSpec.getSize(widthMeasureSpec); int parentHeight = MeasureSpec.getSize(heightMeasureSpec); this.setMeasuredDimension(parentWidth/2, parentHeight); } ในทางกลับกันตามโพสต์นี้วิธีที่ "ถูกต้อง" คือการใช้ MeasureSpec เรียก setMeasuredDimensions () ตามด้วยการเรียก setLayoutParams () และลงท้ายด้วยการเรียก super.onMeasure () ตัวอย่างเช่น: @Override protected void onMeasure(int widthMeasureSpec, …

10
วิธีเพิ่มฉลากลอยบน Spinner
หลังจากใช้ไลบรารีการสนับสนุนการออกแบบของ Android TextInputLayoutเพื่อวางป้ายลอยไว้เหนือEditTextส่วนประกอบฉันสงสัยว่ามีวิธีเพิ่มป้ายกำกับแบบลอยให้กับSpinnerส่วนประกอบหรือไม่ (ไม่จำเป็นต้องใช้ไลบรารีการออกแบบ) ด้วยเหตุนี้ฉันหมายถึงสิ่งที่คล้ายกับสิ่งที่TextViewวางไว้เหนือSpinner(เห็นได้ชัดว่าไม่มีภาพเคลื่อนไหวเหมือนTextInputLayout) แต่ฉันต้องการให้ขนาดตัวอักษรแบบอักษรและสีตรงกับTextInputLayoutป้ายกำกับลอยของ ตัวอย่างเช่นจะมีลักษณะดังนี้ (ดูป้ายกำกับด้านบนSpinners): ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้จุดมุ่งหมายหลักของฉันคือการมีป้ายกำกับด้านบนSpinnerเช่นเดียวกับในTextInputLayoutขนาดข้อความแบบอักษรสีและระยะห่างระหว่างป้ายกำกับและส่วนประกอบจะเหมือนกัน ในหน้าการออกแบบของ Google เกี่ยวกับช่องข้อความป้ายกำกับแบบลอยมีแผนภาพที่แสดงขนาดของป้ายกำกับที่สัมพันธ์กับส่วนประกอบ แต่ไม่มีการระบุสีหรือขนาดข้อความป้ายกำกับ: ดังนั้นเพื่อสรุปฉันกำลังถามว่า: - หากมีองค์ประกอบพิเศษเพื่อให้บรรลุสิ่งที่ฉันขอหรือมุมมองแบบกำหนดเองที่ฉันสามารถใช้ได้มันจะเป็นอย่างไรและฉันจะใช้มันได้อย่างไร - ถ้าไม่ใช่ขนาดตัวอักษรสีและแบบอักษรของป้ายกำกับแบบลอยคืออะไรเพื่อที่ฉันจะได้วางTextViewด้านบนSpinnerด้วยขนาดเค้าโครงที่แสดงในภาพด้านบน แก้ไข: จากหลักเกณฑ์การออกแบบของ Google สำหรับช่องข้อความมีดังต่อไปนี้สำหรับป้ายกำกับแบบลอย: คำแนะนำและแบบอักษรป้อน: Roboto Regular 16sp Label font: Roboto Regular 12sp Tile height: 72dp Text top and bottom padding: 16dp Text field divider padding: 8dp เช่นเดียวกับภาพที่แสดงด้านบน ดังนั้นตัวอักษรป้ายลอย: Roboto 12sp คุณจึงสามารถใช้ …

9
Android Studio: ไดเรกทอรีที่สร้างขึ้นใหม่ไม่ปรากฏในมุมมองโฟลเดอร์
ฉันพยายามสร้างโฟลเดอร์ใหม่ภายในไดเร็กทอรี / res ฉันเพิ่มไดเร็กทอรีใหม่ โฟลเดอร์ไม่ปรากฏในโฟลเดอร์ / res แม้ว่าจะมีอยู่ในตัวค้นหาก็ตาม กรณีและจุดฉันลองเพิ่มโฟลเดอร์อีกครั้งและได้รับข้อความแจ้งว่ามีอยู่ หากคุณสามารถแนะนำสิ่งที่ฉันสามารถทำได้เพื่อแก้ไขปัญหานี้ฉันจะชอบมัน! (และใช่ฉันได้รีสตาร์ทโปรแกรมเช่นเดียวกับคอมพิวเตอร์ของฉัน)

5
เพิ่มจำนวนรายการใหม่ให้กับไอคอนบนปุ่ม - Android
ฉันเป็นผู้พัฒนา ฉันต้องการใช้การออกแบบที่แสดงด้านล่าง ฉันมีแอพที่ใช้งานได้แล้ว แต่สงสัยว่าจะเข้าถึงสิ่งนี้ได้อย่างไร? Particulary ฉันสนใจวิธีแสดงจำนวนรายการ "ใหม่" ใต้แท็บ สิ่งที่ฉันรู้วิธีทำ - คือสร้างไอคอนใหม่ด้วยจุดสีแดงและแสดงเมื่อมีสิ่งใหม่ ๆ แต่ฉันไม่รู้ว่าจะทำให้วงกลมเหล่านั้นลอยอยู่ด้านบนของชื่อเรื่องและแสดงหมายเลขข้างในได้อย่างไร ใครมีข้อเสนอแนะเกี่ยวกับสิ่งที่มองหา? ตัวอย่าง? ทิศทาง? คำถามที่สองเกี่ยวกับการแยกกิจกรรม ฉันควรควบคุมให้รวมปุ่มแบบนี้เข้าด้วยกันและขยายขนาดในกิจกรรมหรือไม่ มิฉะนั้นฉันอาจสร้างกิจกรรมแบบแท็บ แต่ไม่แน่ใจว่าจะจัดรูปแบบให้เป็นแบบนี้ได้หรือไม่

3
android: ฉันจะใช้การสอนครั้งแรกเช่น Go Launcher ในแอปของฉันได้อย่างไร
Go Launcher มีการสอนครั้งแรกที่ดี คล้ายกับ Stock ICS ครั้งแรกที่เรียกใช้ ฉันต้องการเรียนรู้วิธีการแสดงบทช่วยสอนที่คล้ายกันเมื่อเปิดตัวแอปครั้งแรก ฉันจะใช้มุมมองโปร่งใสนี้ (ซึ่งโต้ตอบกับวัตถุบนหน้าจอ) ในแอป Android ของฉันได้อย่างไร

3
จะแสดงเค้าโครงหนึ่งด้านบนของอีกรูปแบบทางโปรแกรมได้อย่างไรในกรณีของฉัน
เค้าโครงหลักของฉันmain.xmlมี LinearLayouts สองแบบ: ที่ 1 LinearLayoutเป็นเจ้าภาพ a VideoViewและ a Button, LinearLayoutโฮสต์ที่2 EditTextและสิ่งนี้LinearLayoutได้ตั้งค่าการเปิดเผยเป็น " GONE " ( android:visibility="gone") เช่นด้านล่าง: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/first_ll" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <VideoView android:id="@+id/my_video" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="9" /> <Button android:id="@+id/my_btn" android:layout_width="30dip" android:layout_height="30dip" android:layout_gravity="right|bottom" android:layout_weight="1" /> </LinearLayout> <LinearLayout android:id="@+id/second_ll" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="2dip" android:visibility="gone" …

2
Android: เติม Spinner จาก Java Code โดยทางโปรแกรม
คุณจะเติมสปินเนอร์จากโค้ดจาวาโดยทางโปรแกรมได้อย่างไร? ฉันมีสปินเนอร์ในเลย์เอาต์ดังนี้: <Spinner android:id="@+id/consultation_deseases" android:layout_width="@dimen/bigSpinnerWidth" android:layout_height="@dimen/bigSpinnerHeight" android:prompt="@string/disease_prompt" /> ด้วยรหัส java ฉันต้องสร้างอะแดปเตอร์และเพิ่มรายการ

2
ใช้ FragmentContainerView พร้อมองค์ประกอบการนำทางหรือไม่
หลังจากการปรับปรุงเพื่อนำร่อง2.2.0-beta01จากรุ่นก่อนหน้าผ้าสำลีให้คำเตือนเกี่ยวกับการเปลี่ยนเป็นแท็กที่มี<fragment>FragmentContainerView อย่างไรก็ตามการแทนที่แท็กเพียงอย่างเดียวดูเหมือนว่าจะป้องกันไม่ให้กราฟการนำทางขยายตัว ตามที่2.2.0-alpha01 , FragmentContainerViewถูกใช้ภายใน เราควรเพิกเฉยต่อคำเตือนที่เป็นขุยหรือไม่? activity_main.xml <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Lint warning: "Replace the <fragment> tag with FragmentContainerView. --> <fragment android:id="@+id/nav_host_main" android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="match_parent" android:layout_height="match_parent" app:defaultNavHost="true" app:navGraph="@navigation/nav_graph_main"/> <!-- other elements --> </androidx.constraintlayout.widget.ConstraintLayout>

1
ข้อความการหมุนของ Android: ฉันใช้ dynamiclayout.draw (canvas) แต่ไม่เคลื่อนไหวตามเส้นทางและไม่สามารถใช้ canvas.drawTextOnPath (ไดนามิกเลย์เอาต์)
ฉันใช้https://github.com/mdg-iitr/RotatingTextเวอร์ชันของตัวเองเพื่อแสดงวิดเจ็ตข้อความหมุน วิดีโอมีให้ใน GitHub นี้ช่วยให้คุณดูภาพเคลื่อนไหว ความคิดคือการตั้งค่าแถวของคำ แถวจะแสดงแถวหลังแถว แถวทั้งหมดหมุน (ทำตามคำพูด) แถวจะปรากฏขึ้นหลังจากแถวก่อนหน้าเมื่อภาพเคลื่อนไหวการหมุนของหลังสิ้นสุดลง ปัญหาของฉัน ฉันใช้ a DynamicLayoutเพื่อแสดงแถวของข้อความ ข้อควรจำ: แถวจะต้องหมุน ปัญหาของฉันคือ: canvas.drawTextOnPath(dynamicLayoutObject)เห็นได้ชัดว่าผมไม่สามารถใช้วิธีการ ดังนั้นสิ่งที่ฉันทำคือ: dynamicLayoutObjec.draw(canvas);. แต่ตอนนั้นไม่มีแอนิเมชันใด ๆ แท้จริงแล้วข้อความ (ดังนั้นDynamicLayoutที่มีอยู่) จะต้องหมุน ผลลัพธ์ที่คาดหวัง DynamicLayout(ในความเป็นจริงข้อความ) จะต้องเป็นภาพเคลื่อนไหว (หมุน) การหมุนสามารถพบได้ในภาพประกอบของ repo ต้นฉบับ Github ที่กำหนดไว้ในตอนต้นของคำถาม SO นี้ ( https://github.com/mdg-iitr/RotatingText ) คำถามของฉัน ฉันไม่ทราบวิธีที่จะทำให้DynamicLayout(และ / หรือข้อความ) หมุนไปตามเส้นทางของฉัน ตัวอย่างที่น้อยที่สุดและทดสอบได้ ฉันได้แก้ไขห้องสมุด RotatingText ดั้งเดิมเมื่อ 8 เดือนที่แล้ว เพื่อให้ง่ายขึ้น …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.