无法在Android

时间:2015-04-22 10:36:20

标签: android android-layout listview android-xml

我有一个包含ListView的活动。我使用$postData = 'recipient='.$recipient.'&message='.$message['message'] 属性将ListView分隔符的颜色设置为黑色,并将分隔符高度设置为1dp。由于某种原因,分隔线显示蓝色而不是黑色。这是我的xml。任何帮助将不胜感激。

second_selection.xml

android:divider="#000000"

如果有必要,这是我的代码

SecondSelection.java

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#1A1A1A"
    android:orientation="vertical"
    tools:context="com.example.saregama.MainActivity" >

    <FrameLayout
        android:id="@+id/myframe"
        android:layout_width="match_parent"
        android:layout_height="25dp"
        android:background="#000000" />

    <include
        android:id="@+id/new_tool"
        layout="@layout/toolbar_actionbar_with_headerbar" />

    <ImageView
        android:id="@+id/loader"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:src="@drawable/newloading" />

    <ListView
        android:id="@+id/product_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="#000000"
        android:dividerHeight="1dp"
        android:layoutAnimation="@anim/layout_bottom_to_top_slide"
        android:padding="10dp"
        android:text="@string/hello_world" />

</LinearLayout>

更新

此问题仅在具有API&lt; 19

4 个答案:

答案 0 :(得分:2)

如果没有任何作用,那么你可以创建自己的分隔符。

首先删除默认分隔符。

android:dividerHeight="0dp" android:divider="@null"

然后在custom_row_layout.xml中添加视图 `     

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="30dp"
        android:paddingTop="8dp"
        android:paddingBottom="8dp"
        android:textSize="17sp"
        android:textColor="@color/white" />

     <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/white" />
</LinearLayout>

`

答案 1 :(得分:1)

使用android:background而不是android:divider

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1A1A1A"
android:orientation="vertical"
tools:context="com.example.saregama.MainActivity" >

<FrameLayout
    android:id="@+id/myframe"
    android:layout_width="match_parent"
    android:layout_height="25dp"
    android:background="#000000" />

<include
    android:id="@+id/new_tool"
    layout="@layout/toolbar_actionbar_with_headerbar" />

<ImageView
    android:id="@+id/loader"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="30dp"
    android:src="@drawable/newloading" />

<ListView
    android:id="@+id/product_list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="#000000"
    android:dividerHeight="1dp"
    android:layoutAnimation="@anim/layout_bottom_to_top_slide"
    android:padding="10dp"
    android:text="@string/hello_world" />

答案 2 :(得分:1)

我在styles.xml

中为ListViews设置了一种样式
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    ...
    <style name="ListViews" parent="@android:style/Widget.ListView">
        <item name="android:cacheColorHint">@color/transparent</item>
        <item name="android:divider">@drawable/list_divider</item>
        <item name="android:dividerHeight">1px</item>
    </style>
    ...
</resources>

我的ListView使用该样式:

style="@style/ListViews"

显然,我的drawable文件夹中有这样的画面 我的list_divider.xml drawable是这样的:

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

<强> [编辑]

显然,不是@color/transparent@color/navy_semi,而是使用自己的颜色 这些仅在我的颜色重新定义中定义。

答案 3 :(得分:1)

在列表视图中使用以下属性。

android:cacheColorHint="@null"