将目标sdk从22更新为26后,找不到资源异常

时间:2018-08-03 06:14:26

标签: android xamarin.android drawable

在我的Xamarin.Android中,当我将目标sdk更新为26(以前为22)时,将设置为frontTint的按钮膨胀到此处时,应用程序崩溃了

 <Button
    android:layout_width="@dimen/_30sdp"
    android:id="@+id/btnSharing"
    android:layout_height="@dimen/_30sdp"
    android:background="@drawable/round_button"
    android:gravity="center"
    android:drawablePadding="@dimen/_15sdp"
    android:layout_marginLeft="7dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="50dp"
    android:textSize="@dimen/_18sdp"
    android:textColor="@color/FontLightColor"
    android:layout_weight="0"
    android:splitMotionEvents="false"
    android:foregroundTint="@drawable/ic_more_vertoption"
    android:layout_alignParentLeft="true" />

例外是

 08-02 18:57:40.665 Motorola XT1254 Info    18860   MonoDroid   Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xxxhdpi-v4/ic_more_vertoption.png from drawable resource ID #0x7f020097: .xml extension required
at android.content.res.Resources.loadColorStateListForCookie(Resources.java:2761)
at android.content.res.Resources.loadColorStateList(Resources.java:2702)
at android.content.res.TypedArray.getColorStateList(TypedArray.java:485)
at android.view.View.<init>(View.java:4304)
at android.widget.TextView.<init>(TextView.java:677)
at android.widget.Button.<init>(Button.java:109)
at android.widget.Button.<init>(Button.java:105)
at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:70)
at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:66)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:109)
at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1016)
at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1073)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)

尽管png文件存在于drawable以及drawable-xxxhdpi文件夹中。当目标为22时,它不会将其抛出。 我是android开发的新手,不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:2)

Foreground Tint属性将采用非png可绘制的颜色,并使用颜色设置色调。

android:foregroundTint 适用于前景的色调。

可以是颜色值,形式为“ #rgb”,“#argb”,“#rrggbb”或“ #aarrggbb”。