2011-07-22 42 views
1

我正在開發鬧鐘應用程序。我想要一個活動列出所有現有的警報。我使用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 /文件夾繪製:

<?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> 

但是,按鈕的背景仍然是白色的。我的代碼有什麼問題?顯然,我錯過了一些重要的東西。

回答

0

我覺得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> 

看看this更多的幫助。

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的替代解決方案。

+0

它不工作。背景仍然是透明的。 用於繪製多個項目時效果很好,但在我的佈局中,我只需要一個帶圓角的黑色矩形,因此一個簡單的通常就足夠了。 – Gabriel