在ListView中的文本旁边显示进度条

时间:2016-01-21 04:32:55

标签: android xml progress-bar android-progressbar

我正在尝试使用进度条创建一个listView,与下面的图像完全相同

enter image description here

我使用android:layout_toRightOfPro-XXX-XXX旁边显示progressBar,但它显示在文本下方。

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView android:id="@+id/ListProject"
        android:textStyle="bold"
        android:textColor="@color/black"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <ProgressBar
        android:id="@+id/downloadProgressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/ListProject" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/blue"
        android:id="@+id/ListTimeIn"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/blue"
        android:layout_toLeftOf="@+id/ListTimeIn"
        android:id="@+id/ListTimeOut"/>
    <TextView android:id="@+id/ListDescription"
        android:layout_width="wrap_content"
        android:textColor="@color/blue"
        android:layout_height="wrap_content"/>

</LinearLayout>

更改为RelativeLayout

enter image description here

@Chintan回答

enter image description here

3 个答案:

答案 0 :(得分:0)

下面的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/ListProject"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="HProxx -cxcscdc"
            android:layout_alignParentLeft="true"
            android:layout_toLeftOf="@+id/downloadProgressBar"
            android:textColor="@color/black"
            android:textStyle="bold" />

        <ProgressBar
            android:id="@+id/downloadProgressBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            />
    </RelativeLayout>
    <TextView
        android:id="@+id/ListTimeIn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="HProxx -cxcscdc"
        android:textColor="#CADFFF" />

    <TextView
        android:id="@+id/ListTimeOut"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/ListTimeIn"
        android:text="HProxx -cxcscdc"
        android:textColor="#CADFFF" />

    <TextView
        android:id="@+id/ListDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="HProxx -cxcscdc"
        android:textColor="#CADFFF" />

</LinearLayout>

答案 1 :(得分:0)

您需要使用相对布局提供的工具。

你的ProgressBar需要“toRightOf”以及“toEndOf”TextView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical">

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="10dp">

    <TextView
        android:id="@+id/ListProject"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingEnd="20dp"
        android:paddingRight="20dp"
        android:text="Test"
        android:textColor="@color/black"
        android:textStyle="bold"/>

    <ProgressBar
        android:id="@+id/downloadProgressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@id/ListProject"
        android:layout_toRightOf="@+id/ListProject"/>
</RelativeLayout>

<TextView
    android:id="@+id/ListTimeIn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Test"/>

<TextView
    android:id="@+id/ListTimeOut"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="test"/>

<TextView
    android:id="@+id/ListDescription"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="test"/>
</LinearLayout>

我刚测试过这个xml,它运行得非常好。

答案 2 :(得分:-1)

将您的xml替换为xml以下。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/ListProject"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:lines="2"
            android:textColor="@color/black"
            android:textStyle="bold" />

        <ProgressBar
            android:id="@+id/downloadProgressBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

    </LinearLayout>

    <TextView
        android:id="@+id/ListTimeIn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/blue" />

    <TextView
        android:id="@+id/ListTimeOut"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/ListTimeIn"
        android:textColor="@color/blue" />

    <TextView
        android:id="@+id/ListDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/blue" />

</LinearLayout>

请告诉我这是否适合您。