Android TextView不允许在图层列表背景中绘制位图
好的,我已经到处寻找,但找不到答案。我想这是因为我想一下子做的太多了。我想多次使用带有位图的矩形的背景图像,使用与TextView不同的文本 这是我尝试使用的位图(.png)文件的一个示例: 我想要一个背景为可绘制XML文件的TextView,该文件是一个层列表。见代码: 方框(xml):Android TextView不允许在图层列表背景中绘制位图,android,xml,bitmap,background,drawable,Android,Xml,Bitmap,Background,Drawable,好的,我已经到处寻找,但找不到答案。我想这是因为我想一下子做的太多了。我想多次使用带有位图的矩形的背景图像,使用与TextView不同的文本 这是我尝试使用的位图(.png)文件的一个示例: 我想要一个背景为可绘制XML文件的TextView,该文件是一个层列表。见代码: 方框(xml): <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.andro
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="128dp" android:height="34dp">
<shape android:shape="rectangle">
<stroke android:width="1dp"/>
<solid android:color="@color/ivory"/>
<corners android:topLeftRadius="16dp" android:topRightRadius="16dp"/>
</shape>
</item>
<item android:right="10dp">
<bitmap android:src="@drawable/dice_one" android:gravity="right|center_vertical"/>
</item>
</layer-list>
box\u twos xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="@string/tBoxWidth" android:height="@string/boxHeight">
<shape android:shape="rectangle">
<stroke android:width="1dp"/>
<solid android:color="@color/ivory"/>
</shape>
</item>
<item android:right="10dp">
<bitmap android:src="@drawable/dice_two" android:gravity="right|center_vertical"/>
</item>
活动\u主xml:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ones"
android:background="@drawable/box_ones"
android:textAlignment="gravity"
android:gravity="center_vertical"
android:textSize="16sp"
/>
字符串xml
<resources>
<string name="xSize">16dp</string>
<string name="boxWidth">40dp</string>
<string name="boxHeight">34dp</string>
<string name="tBoxWidth">128dp</string>
</resources>
16dp
40dp
34dp
128dp
我试过上面的方法;我尝试过做一个扩展TextView的自定义类;我尝试过使用文本视图和图像视图;我试过做android:drawableEnd
。但是,每种方法都会出现一些错误,使我无法使用这种方法。我做错了什么
2019-01-25 14:24:29.978 4346-4346/com.dyna.ks.yscorepadv E/AndroidRuntime:致命异常:main
进程:com.dyna.ks.yscorepadv,PID:4346
java.lang.RuntimeException:无法启动活动组件信息{com.dyna.ks.yscorepadv/com.dyna.ks.yscorepadv.FullscreenActivity}:android.view.InflateException:二进制XML文件行#47:二进制XML文件行#47:膨胀类TextView时出错
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2955)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
位于android.app.ActivityThread.-wrap11(未知来源:0)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
位于android.os.Handler.dispatchMessage(Handler.java:105)
位于android.os.Looper.loop(Looper.java:164)
位于android.app.ActivityThread.main(ActivityThread.java:6938)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.Zygote$MethodAndArgsCaller.run上(Zygote.java:327)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
原因:android.view.InflateException:二进制XML文件行#47:二进制XML文件行#47:膨胀类TextView时出错
原因:android.view.InflateException:二进制XML文件行#47:膨胀类TextView时出错
原因:android.content.res.Resources$NotFoundException:Drawable com.dyna.ks.yscorepadv:Drawable/box两个,资源ID为0x7f06005b
原因:android.content.res.Resources$NotFoundException:文件res/drawable/box_twos.xml来自可绘制资源ID#0x7f06005b
位于android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:837)
位于android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:659)
位于android.content.res.Resources.loadDrawable(Resources.java:900)
位于android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953)
位于android.content.res.TypedArray.getDrawable(TypedArray.java:928)
位于android.widget.TextView。(TextView.java:1391)
位于android.widget.TextView。(TextView.java:1129)
位于androidx.appcompat.widget.AppCompatTextView。(AppCompatTextView.java:87)
位于androidx.appcompat.widget.AppCompatTextView。(AppCompatTextView.java:83)
在androidx.appcompat.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)中
在androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)中
在androidx.appcompat.app.appcompatedelegateimpl.createView(appcompatedelegateimpl.java:1266)
在androidx.appcompat.app.AppCompateDelegateImpl.onCreateView(AppCompateDelegateImpl.java:1316)上
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
在android.view.LayoutInflater.充气(LayoutInflater.java:515)
在android.view.LayoutInflater.充气(LayoutInflater.java:423)
在android.view.LayoutInflater.inflate(LayoutInflater.java:374)
位于androidx.appcompat.app.appcompatedelegateimpl.setContentView(appcompatedelegateimpl.java:469)
位于androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
在com.dyna.ks.yscorepadv.FullscreenActivity.onCreate上(FullscreenActivity.java:13)
位于android.app.Activity.performCreate(Activity.java:7183)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
位于android.app.ActivityThread.-wrap11(未知来源:0)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
位于android.os.Handler.dispatchMessage(Handler.java:105)
位于android.os.Looper.loop(Looper.java:164)
位于android.app.ActivityThread.main(ActivityThread.java:6938)
位于java.lang.reflect.Method.invoke(本机方法)
2019-01-25 14:24:29.979 4346-4346/com.dyna.ks.yscorepadv E/AndroidRuntime:com.android.internal.os.zyote$MethodAndArgsCaller.run(zyote.java:327)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
原因:java.lang.UnsupportedOperationException:无法将索引2处的值转换为维度:type=