将按钮颜色从红色更改为彩色时按钮inflater崩溃

问题描述 投票:0回答:1

我正在使用android,我试图在我的应用程序中的按钮上更改一些颜色,但现在它不起作用,甚至不想启动。我将颜色更改为红色,并将按钮类型从默认值更改为彩色。以下是崩溃的xml文件的第99行:

    android:id="@+id/dodawanie"
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="8dp"
    android:onClick="dod"
    android:text="@string/dodawanie"
    android:textColorLink="@string/dodawanie"
    app:layout_constraintBottom_toTopOf="@+id/odejmowanie"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/PODAJLICZBE"
    app:layout_constraintVertical_chainStyle="packed" />

这是错误日志:

    2019-04-05 16:58:58.005 8534-8534/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.costam, PID: 8534
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.costam/com.example.costam.MainActivity}: android.view.InflateException: Binary XML file line #99: Binary XML file line #99: Error inflating class Button
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2856)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2931)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1620)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:6701)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:246)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)
 Caused by: android.view.InflateException: Binary XML file line #99: Binary XML file line #99: Error inflating class Button
 Caused by: android.view.InflateException: Binary XML file line #99: Error inflating class Button
 Caused by: android.content.res.Resources$NotFoundException: File + from drawable resource ID #0x7f0b0028: .xml extension required
    at android.content.res.ResourcesImpl.loadComplexColorForCookie(ResourcesImpl.java:1086)
    at android.content.res.ResourcesImpl.loadComplexColorFromName(ResourcesImpl.java:885)
    at android.content.res.ResourcesImpl.loadColorStateList(ResourcesImpl.java:968)
    at android.content.res.Resources.loadColorStateList(Resources.java:1043)
    at android.content.res.TypedArray.getColorStateList(TypedArray.java:543)
    at android.widget.TextView.<init>(TextView.java:1220)
    at android.widget.Button.<init>(Button.java:172)
    at android.widget.Button.<init>(Button.java:147)
    at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:71)
    at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:67)
    at android.support.v7.app.AppCompatViewInflater.createButton(AppCompatViewInflater.java:187)
    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:110)
    at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)
    at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:867)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
    at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
    at com.example.costam.MainActivity.onCreate(MainActivity.java:15)
    at android.app.Activity.performCreate(
java android button
1个回答
0
投票

Textcolorlink不对

Add android:textColorLink="yourcolorhere" to your TextView

yourText.setLinkTextColor(Color.RED);
© www.soinside.com 2019 - 2024. All rights reserved.