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

11
เปลี่ยนสีเติมในเนื้อหาเวกเตอร์ใน Android Studio
ตอนนี้ Android Studio รองรับสินทรัพย์แบบเวกเตอร์ในวันที่ 21+ และจะสร้าง pngs สำหรับเวอร์ชั่นที่ต่ำกว่าในเวลารวบรวม ฉันมีสินทรัพย์แบบเวกเตอร์ (จากไอคอนวัสดุ) ที่ฉันต้องการเปลี่ยนสีเติม สิ่งนี้ใช้ได้กับ 21+ แต่ pngs ที่สร้างขึ้นจะไม่เปลี่ยนสี มีวิธีทำเช่นนี้หรือไม่? <vector android:height="48dp" android:viewportHeight="24.0" android:viewportWidth="24.0" android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android"> <path android:fillColor="@color/primary" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>

11
รับบิตแมปจากเวกเตอร์ drawable
ในแอปพลิเคชันของฉันฉันต้องตั้งไอคอนขนาดใหญ่สำหรับการแจ้งเตือน LargeIcon ต้องเป็นบิตแมปและ drawables ของฉันคือภาพเวกเตอร์ (ฟีเจอร์ใหม่ใน Android ดูที่ลิงก์นี้ ) ปัญหาคือเมื่อฉันพยายามถอดรหัสทรัพยากรที่เป็นภาพเวกเตอร์ฉันได้รับค่า null กลับมา นี่คือตัวอย่างของรหัส: if (BitmapFactory.decodeResource(arg0.getResources(), R.drawable.vector_menu_objectifs) == null) Log.d("ISNULL", "NULL"); else Log.d("ISNULL", "NOT NULL"); ในตัวอย่างนี้เมื่อฉันแทนที่ R.drawable.vector_menu_objectifs ด้วยรูปภาพ "ปกติ" png สำหรับตัวอย่างผลลัพธ์ไม่เป็นโมฆะ (ฉันได้รับบิตแมปที่ถูกต้อง) มีบางสิ่งที่ฉันขาดไปหรือไม่?

17
เป็นไปได้ไหมที่จะใช้ VectorDrawable ในปุ่มและ TextViews โดยใช้ android: DrawableRight
เมื่อฉันใช้เนื้อหา VectorDrawable ใน textview หรือ imageview ฉันพบปัญหารันไทม์เมื่อใช้ "android: DrawableRight" / "android: DrawableEnd" / "android: DrawableStart" / "android: DrawableLeft" แอพจะคอมไพล์ได้ดีโดยไม่มีคำเตือนใด ๆ ฉันใช้ Gradle 1.5 รองรับไลบรารี 23.2 ('com.android.support:appcompat-v7:23.2.0') สิ่งที่ฉันได้พบคือฉันสามารถกำหนด SVG ใน Java โดยทางโปรแกรมได้โดยไม่เกิดปัญหาเช่นนี้ TextView tv = (TextView) findViewById(R.id.textView); tv.setCompoundDrawablesWithIntrinsicBounds(null,null, getResources().getDrawable(R.drawable.ic_accessible_white_36px),null); (ฉันสงสัยว่านี่เป็นข้อบกพร่องของไลบรารีการสนับสนุนสำหรับ 23.2) แต่เป็นไปได้ไหมที่จะใช้ drawableRight และอื่น ๆ สำหรับเนื้อหา SVG นี่คือเค้าโครงของฉัน <?xml version="1.0" encoding="utf-8"?> …

4
วิธีจัดกึ่งกลางเวกเตอร์ที่วาดได้ในรายการเลเยอร์โดยไม่ต้องปรับขนาด
ฉันกำลังพยายามใช้VectorDrawablea LayerListโดยไม่ปรับขนาดเวกเตอร์ ตัวอย่างเช่น: <layer-list> <item android:drawable="@color/grid_item_activated"/> <item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/> </layer-list> ic_check_white_48dpรหัสที่ดึงได้กำหนดเป็น: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="48dp" android:height="48dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FFFFFFFF" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/> </vector> เอฟเฟกต์ที่ต้องการคือให้ไอคอนตรวจสอบอยู่กึ่งกลางในเลเยอร์ที่วาดได้โดยไม่ต้องปรับขนาด ปัญหาคือรายการเลเยอร์ด้านบนทำให้ไอคอนกาเครื่องหมายถูกปรับขนาดให้พอดีกับขนาดเลเยอร์ ฉันสามารถสร้างเอฟเฟกต์ที่ต้องการได้หากฉันแทนที่เวกเตอร์ที่วาดได้ด้วย PNG สำหรับแต่ละความหนาแน่นและแก้ไขรายการเลเยอร์ดังนี้: <layer-list> <item android:drawable="@color/grid_item_activated"/> <item> <bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/> </item> </layer-list> มีวิธีใดบ้างที่ฉันสามารถทำได้โดยใช้ a VectorDrawable?

9
VectorDrawable - มีให้บริการสำหรับ Android เวอร์ชันก่อนอมยิ้มหรือไม่ [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการ1 ปีที่ผ่านมา ปรับปรุงคำถามนี้ พื้นหลัง ฉันสังเกตเห็นว่าตอนนี้ Android รองรับการวาดเวกเตอร์บางประเภทผ่านคลาสที่เรียกว่า " VectorDrawable " (และAnimatedVectorDrawable , BTW) ฉันค้นพบแล้วโดยดูว่ามีอะไรใหม่ในAndroid-Studio Android ฉันสงสัยว่าเรื่องนี้จะเป็นจุดสิ้นสุดของต้องใส่หลายไฟล์ในโฟลเดอร์หลาย ( mdpi, hdpi, xhdpiฯลฯ ) ซึ่งจะดีมากและอาจลดขนาดแอปในบางกรณี คำถาม ฉันต้องการถามคำถามสองสามข้อเกี่ยวกับชั้นเรียนใหม่นี้: เป็นไปได้ไหมที่จะใช้ใน Android เวอร์ชันเก่าหรืออาจจะผ่านทางไลบรารีของห้องสมุดสนับสนุนของ Google ฉันไม่คุ้นเคยกับวิธีการทำงาน แต่ Lollipop สามารถจัดการไฟล์ SVG ได้หรือไม่ สามารถทำอะไรก็ได้ที่ทำได้ในไฟล์ SVG หรือไม่? มีตัวอย่าง / บทแนะนำ / วิดีโอการใช้งานนอกเหนือจากเอกสารที่ฉันพบหรือไม่?

2
หน้าจอเริ่มต้นของ Android VectorDrawable
ฉันต้องการที่จะแสดง VectorDrawable ในหน้าจอของฉัน <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/white" android:gravity="fill" /> <item android:drawable="@drawable/splash_screen" android:gravity="bottom|center" /> </layer-list> SVG ของฉันมีandroid:width="320dp"และandroid:height="238dp" <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="320dp" android:height="238dp" android:viewportWidth="320" android:viewportHeight="238"> <group> <clip-path android:pathData="M0,0h320v238h-320z M 0,0"/> <path android:pathData="M0,143.311a160,4.476 0,1 0,320 0a160,4.476 0,1 0,-320 0z" android:fillColor="#E6E6E6"/> <path android:pathData="M245.269,94.815C245.067,94.818 244.865,94.821 244.66,94.821C244.455,94.821 244.253,94.818 244.051,94.815C233.341,94.572 225.578,87.88 227.554,80.859L232.372,63.73L233.59,59.396L255.177,59.764L256.488,64.004L261.653,80.693C263.839,87.753 256.076,94.572 245.269,94.815Z" android:fillColor="#3F3D56"/> …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.