Android可绘制背景不会在设备上显示

时间:2014-08-20 18:29:47

标签: android android-layout background textview shapedrawable

我想给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>

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

但由于某种原因,这个drawable不再存在于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"/>`

3 个答案:

答案 0 :(得分:1)

将android:useLevel =“false”属性添加到形状标记中。在我添加之前,我的IDE没有在预览窗口中显示您的形状。

根据docs

  

机器人:useLevel

     

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

我认为你的背景是在一些资源中投入的,并且可以用#34; drawable&#34; Eclipse IDE中的文件夹(例如,在 drawable-hdpi 中)。我有这个和真实的设备(索尼Xperia Z2)我没有看到任何东西。

简答:

我必须将所需的背景添加到每个可绘制文件夹 - drawable-ldpi,drawable-xxhdpi, ......

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

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