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

ใน Android Drawable เป็นนามธรรมทั่วไปสำหรับ "สิ่งที่วาดได้"

13
เพิ่มเอฟเฟกต์ระลอกคลื่นให้กับปุ่มของฉันด้วยสีพื้นหลังของปุ่ม?
ฉันสร้างปุ่มขึ้นมาและต้องการเพิ่มเอฟเฟกต์ระลอกคลื่นให้กับปุ่มนั้น! ฉันสร้างไฟล์ XML ปุ่ม bg: (bg_btn.xml) <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FFFFFF" android:endColor="#00FF00" android:angle="270" /> <corners android:radius="3dp" /> <stroke android:width="5px" android:color="#000000" /> </shape> และนี่คือไฟล์เอฟเฟกต์ระลอกของฉัน: (ripple_bg.xml) <ripple xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:color="#f816a463" tools:targetApi="lollipop"> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="#f816a463" /> </shape> </item> </ripple> และนี่คือปุ่มของฉันที่ฉันต้องการเพิ่มเอฟเฟกต์ระลอกคลื่น: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="173dp" android:textColor="#fff" android:background="@drawable/ripple_bg" …

22
วิธีแก้ไข: android.app.RemoteServiceException: การแจ้งเตือนที่ไม่ถูกต้องโพสต์จากแพ็คเกจ *: ไม่สามารถสร้างไอคอน: StatusBarIcon
ฉันเห็นข้อยกเว้นต่อไปนี้ในบันทึกข้อขัดข้อง: android.app.RemoteServiceException: Bad notification posted from package com.my.package: Couldn't create icon: StatusBarIcon(pkg=com.my.package user=0 id=0x7f02015d level=0 visible=true num=0 ) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1456) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5487) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(Native Method) ฉันโพสต์การแจ้งเตือนของฉันจาก IntentService จากชุด PendingIntent ผ่าน AlarmManager โดยใช้วิธีการต่อไปนี้ ค่าทั้งหมดที่ส่งมาที่นี่มาจาก Bundle Extras ใน PendingIntent …

14
สไตล์บรรทัดล่างใน Android
ฉันต้องการสร้างรูปร่างของหุ่นยนต์เพื่อให้เฉพาะด้านล่างเท่านั้นที่มีเส้นขีด (เส้นประ) เมื่อฉันลองทำสิ่งต่อไปนี้เส้นโครงร่างจะแบ่งครึ่งรูปร่างผ่านจุดศูนย์กลาง มีใครรู้วิธีทำให้ถูกต้องไหม? เส้นขีดต้องเป็นบรรทัดล่าง / เส้นขอบ ฉันใช้รูปร่างเป็นพื้นหลังของ TextView ได้โปรดอย่าคิดว่าทำไมฉันถึงต้องการมัน <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="#1bd4f6" /> </shape> </item> <item> <shape android:shape="line" > <padding android:bottom="1dp" /> <stroke android:dashGap="10px" android:dashWidth="10px" android:width="1dp" android:color="#ababb2" /> </shape> </item> </layer-list>

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?

5
จะอ้างอิงแอตทริบิวต์สไตล์จาก drawable ได้อย่างไร?
ฉันต้องการมี 2 ธีมที่เลือกได้สำหรับแอปพลิเคชันของฉัน ในการทำเช่นนั้นฉันได้กำหนดคุณลักษณะบางอย่างดังนี้: <attr format="color" name="item_background" /> จากนั้นฉันสร้างทั้งสองธีมดังนี้: <style name="ThemeA"> <item name="item_background">#123456</item> </style> <style name="ThemeB"> <item name="item_background">#ABCDEF</item> </style> วิธีนี้ใช้ได้ผลดีทำให้ฉันสร้างและปรับเปลี่ยนธีมต่างๆได้อย่างง่ายดาย ปัญหาคือว่าดูเหมือนว่ามันสามารถนำมาใช้เฉพาะในการเข้าชมและไม่อยู่ใน Drawables ตัวอย่างเช่นการอ้างอิงค่าจากมุมมองภายในเค้าโครงใช้งานได้: <TextView android:background="?item_background" /> แต่การทำเช่นเดียวกันใน Drawable ไม่ได้: <shape android:shape="rectangle"> <solid android:color="?item_background" /> </shape> ฉันได้รับข้อผิดพลาดนี้เมื่อเรียกใช้แอปพลิเคชัน: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 ถ้า?item_backgroundฉันใช้สีฮาร์ดโค้ดแทนมันก็ใช้ได้ แต่ไม่อนุญาตให้ฉันใช้ธีมของฉัน ฉันก็พยายาม?attr:item_backgroundเหมือนกัน แต่สิ่งเดียวกันก็เกิดขึ้น ฉันจะทำสิ่งนี้ได้อย่างไร? และเหตุใดจึงทำงานใน Views แต่ใช้ไม่ได้ใน …


8
จังหวะ Android แบบเปิดด้าน?
เป็นไปได้ไหมที่จะสร้างวัตถุรูปทรง Android ที่มีเส้นขีดเฉพาะบางด้าน? เช่นฉันมี: <stroke android:width="3dip" android:color="#000000" android:dashWidth="10dip" android:dashGap="6dip" /> ซึ่งคล้ายกับ CSS นี้: border: 3px dashed black; ฉันจะตั้งจังหวะเพียงด้านเดียวได้อย่างไร? นี่คือวิธีที่ฉันจะทำใน CSS: border-left: 3px dashed black; คุณทำสิ่งนี้ใน Android XML ได้อย่างไร

16
การใช้ Android vector Drawables ในช่วงก่อน Lollipop crash
ฉันใช้ vector drawables ใน Android ก่อน Lollipopและนี่คือไลบรารีและเวอร์ชันเครื่องมือบางส่วนของฉัน: Android Studio: 2.0 ปลั๊กอิน Android Gradle: 2.0.0.0 สร้างเครื่องมือ: 23.0.2 ไลบรารีการสนับสนุน Android: 23.3.0 ฉันเพิ่มคุณสมบัตินี้ในระดับแอปของฉัน Build.Gradle android { defaultConfig { vectorDrawables.useSupportLibrary = true } } นอกจากนี้ยังควรค่าแก่การกล่าวถึงว่าฉันใช้สิ่งที่วาดได้พิเศษเช่น LayerDrawable (layer_list) ตามที่ระบุไว้ในบล็อกอย่างเป็นทางการของ Android ( ลิงค์ที่นี่ ) สำหรับการตั้งค่า drawables สำหรับ vector drawables นอกapp:srcCompat <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/search"/> </level-list> คุณจะพบการอ้างอิงเวกเตอร์ที่วาดได้โดยตรงนอกแอป: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.