0

我想给 TextView 一个背景。这个背景(classement_background.xml)是一个位于 res/drawable 中的drawable。

这是它的代码:

<?xml version="1.0" encoding="utf-8"?>

    <shape
        android:shape="ring"
        xmlns:android="http://schemas.android.com/apk/res/android" >

        <gradient
            android:startColor="#ff648add"
            android:endColor="#ff3656dd"
            android:type="linear"
        />
    </shape>

在布局文件的渲染窗口中,设置了我的背景。(安卓工作室)

但是由于某种原因,这个可绘制对象不再存在于 genymotion 模拟器或实际设备上。

我一直在尝试很多事情(比如确保它不是可绘制文件夹中的第一个元素),但我不知道发生了什么。有什么想法吗 ?

这是来自 textview 本身的代码:`

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="E2"
    android:id="@+id/classement"
    android:layout_below="@+id/firstname"
    android:layout_centerHorizontal="true"
    android:textSize="85dp"
    android:layout_marginTop="15dp"
    android:padding="30dp"
    android:background="@drawable/classement_background"
    android:textColor="@android:color/white"/>`
4

3 回答 3

1

将 android:useLevel="false" 属性添加到您的形状标签。在我添加之前,我的 IDE 不会在其预览窗口中显示您的形状。

根据文档

安卓:使用级别

布尔值。如果将其用作 LevelListDrawable,则为“true”。这通常应该是“假的”,否则您的形状可能不会出现。

于 2014-08-20T18:49:55.883 回答
0

尝试为形状设置 android:thickness。也许android没有为xml drawables提供默认厚度。

于 2014-08-20T18:51:50.827 回答
0

也许我会发布一些对我有帮助的东西。我的背景 id 为 1920x1920 像素,显示为 1920x1080,所以不同的尺寸应该不是问题。

我想您已将背景放在 Eclipse IDE中的某个资源“可绘制”文件夹中(例如在drawable-hdpi中)。我也有,在真实设备(Sony Xperia Z2)上我什么也没看到。

简短的回答:

我必须将我想要的背景添加到每个可绘制文件夹 - drawable-ldpi、drawable-xxhdpi、 ...


经过这次奇怪的操作,索尼终于认出了我的背景并接受了它。:-)

我希望这会对某人有所帮助。

于 2015-09-17T09:56:07.120 回答