2017-08-10 87 views
5

我有一个在Motorolla预棒棒糖手机上绘制矢量绘制问题。我用Moto g和其他KitKat测试了它。每次我开始应用程序时,一些图标看起来损坏,有些图标完全没有。每次发射后,它们都以不同的方式损坏。在联想,三星,ASOP模拟器和其他JB +直到牛轧糖一切正常。只有摩托罗拉手机无法很好地提供支持库的矢量绘图。有人有同样的问题吗?Android - 支持Motorolla矢量绘图

+2

请张贴您的代码如何添加向量 – Lokesh

+0

已经有这个问题的答案https://stackoverflow.com/questions/34417843/how-to-use-vector-drawables-in-android-api-lower-21 – Lokesh

+0

我我正在使用它作为文档说。只有摩托罗拉有这样的问题。其他的棒棒糖设备都可以使用 – user3280437

回答

2

向量Drawables也支持TextView的drawableLeft属性。如果你想使用向量与ImageView的 去这个链接Android Studio 1.4

<ImageView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
app:srcCompat="@drawable/icon" 
+0

https://medium.com/@ferrand.d/can-you-and-should-you-use-vector-drawables-a-cheatsheet-32a2e1cc2ecf –

2

尝试添加以下内容的onCreate()应用程序类的方法:

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 

来自官方的文档:

启用后,AppCompat可以拦截框架中的一些可绘制的通货膨胀,这可以使DrawableContainer资源中的矢量绘图隐式膨胀。
然后,您可以在ImageView上的android:src或TextView上的android:drawableLeft等地方使用这些可绘制对象。
此功能默认为禁用,因为启用它可能会导致内存使用问题以及更新配置实例时出现问题。
如果您手动更新配置,那么您可能不想启用此配置。你被警告了。

+0

已经尝试过这个没有运气 – user3280437

1

在我的研究中,我发现了两种支持在棒棒糖设备上绘制矢量的方法。你可以试试这个。

可以支持与矢量绘制的所有设备与AppCompatImageView

<android.support.v7.widget.AppCompatImageView 
       app:srcCompat="" // your drawable declaration 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"/> 

android.support.v7.appcompat:srcCompat

设置可抽拉,因为这ImageView的内容。允许在旧版本平台上运行时使用矢量绘制的 。

需要支持库23.4.0或最新

来源:https://developer.android.com/reference/android/support/v7/widget/AppCompatImageView.html#attr_android.support.v7.appcompat:srcCompat

另一种方式是在摇篮配置矢量绘制设置。在你的Gradle中包含下面的代码。

android { 
    defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
    } 
} 

使用srcCompatImageView

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:srcCompat="@drawable/ic_add" /> 

来源:https://android-developers.googleblog.com/2016/02/android-support-library-232.html

希望它可以帮助你:)

0

试试这个::: -

Drawable date = AppCompatResources.getDrawable(itemView.getContext(), R.drawable.ic_date_range_black_24dp); 
etDeliveryDate.setCompoundDrawablesWithIntrinsicBounds(date, null, null, null); 
+0

只有摩托罗拉 – user3280437

+0

@ user3280437不工作你是否已经从xml中删除了src或srcCompat可绘制路径? –

+0

你是什么意思? – user3280437