Android включает форму в XML - PullRequest
       2

Android включает форму в XML

1 голос
/ 03 августа 2011

Привет, у меня есть форма, и я пытаюсь включить ее в свой макет, но она не отображается?

Это моя форма.

И это мое, я думал, мне нужно включить Shape в макет.

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

<View android:id="@+id/damage" android:background="@layout/damage"
    android:layout_width="5dip" android:layout_height="wrap_content">
</View>

<ImageView android:id="@+id/icon" android:layout_width="60px"
    android:layout_height="60px" android:layout_marginRight="6dip"
    android:src="@drawable/placeholder" />

<LinearLayout android:orientation="vertical"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:padding="6dip">

    <TextView android:layout_width="fill_parent" android:id="@+id/title"
        android:layout_height="wrap_content" android:text="Item Name"
        android:textStyle="bold" android:singleLine="true" android:textSize="16sp" />

    <ImageView android:id="@+id/rating" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/rating_five" />


    <LinearLayout android:orientation="horizontal"
        android:layout_width="wrap_content" android:layout_height="wrap_content">

        <TextView android:layout_width="wrap_content" android:id="@+id/range"
            android:layout_height="wrap_content" android:text="Range"
            android:textStyle="bold" android:singleLine="true" android:textSize="16sp"
            android:paddingRight="5dip" />

        <TextView android:layout_width="fill_parent" android:id="@+id/condition"
            android:layout_height="wrap_content" android:text="Condition"
            android:textStyle="bold" android:singleLine="true" android:textSize="16sp" />

    </LinearLayout>
</LinearLayout>

Однако ничего не нарисовано?Куда я иду не так.Во-вторых, правильно ли устанавливать ширину и высоту фигуры в представлении, или я должен делать это в файлеmage.xml?Например,

<shape xmlns:android="http://schemas.android.com/apk/res/android"
shape="rectangle">
<solid color="#ff0000" />
<size android:height="wrap_content" />
<size android:width="5dip" />
<stroke width="3dp" color="#ff0000" />

Здесь компилятор жалуется на wrap_content.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 03 августа 2011

Попробуйте изменить color="#ff0000" на android:color="#ff0000". Это должно сделать прямоугольник видимым. Как только вы это сделаете, вы обнаружите, что красный прямоугольник появляется, но он заполняет родительский вид по вертикали. Это потому, что вы использовали android:layout_height="wrap_content", даже если у прямоугольника нет фиксированной высоты. Я бы исправил это, используя какое-то другое значение для android:layout_height в вашем макете.

Кроме того, похоже, что вы поместили повреждение .xml в каталог макета. Поскольку фигура является нарисованной, вы должны поместить ее в каталог для рисования и ссылаться на нее как @layout/damage в макете.

Обновление:

Использование следующего кода в файлеmage.xml приводит к хорошему отображению прямоугольника.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle">
    <solid android:color="#f0f000" />
    <stroke android:width="3dp" android:color="#ff0000" />
</shape>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...