дочерний вид списка элементов Android с закругленными углами - PullRequest
1 голос
/ 22 июля 2011

Я занимаюсь разработкой приложения Будильник. Я хочу, чтобы действие перечисляло все существующие тревоги. Я использую пользовательский макет для каждой строки ListView. Должно отображаться описание, тип и время будильника.

Вот расположение строки: alarm_item_2.xml

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:background="@drawable/selector">
    <TextView
        android:id="@+id/time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/time_background"
        android:textColor="#ffffff"
        android:layout_marginTop="6dp"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:padding="6dp"
        android:textSize="36sp"
    />
    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@id/time"
        android:paddingTop="6dp"
        android:textStyle="bold"
        android:textSize="20sp"
        android:textColor="#000"
    />
    <TextView
        android:id="@+id/type"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/time"
        android:layout_below="@id/description"
        android:textSize="18sp"
        android:textColor="#000"
    />
</RelativeLayout>

Также макет для действия: view_alarms.xml

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="vertical"
          >
<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:cacheColorHint="#fff"
    android:background="#fff"
    android:drawSelectorOnTop="true"
/>
</LinearLayout>

Я хочу, чтобы отображение, отображающее время, было черным и с закругленными углами. Я использую ресурс формы: time_background_xml в папке res / drawable:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <solid android:color="#000000"/>
    <corners android:radius="10dp"/>
</shape>

Однако фон кнопки остается белым. В чем проблема с моим кодом? Очевидно, я упускаю что-то важное.

1 Ответ

0 голосов
/ 22 июля 2011

Я думаю, что time_background_xml должно быть таким:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#000000"/>    
            <corners android:radius="10dp"/>
        </shape>
    </item>    
</layer-list>

Посмотрите на это для получения дополнительной помощи.

UPDATE:

Я думаю, что это будет работать:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <solid android:color="#000000"/>    

    <stroke android:width="3dp"
            android:color="#000000"/>

    <padding android:left="1dp"
             android:top="1dp"
             android:right="1dp"
             android:bottom="1dp"/> 

    <corners android:radius="10dp"/> 
</shape>

Кроме того, посмотрите на this для альтернативного решения.

...