【问题标题】:Display progress bar beside the text in ListView在 ListView 中的文本旁边显示进度条
【发布时间】:2016-01-21 04:32:55
【问题描述】:

我正在尝试制作一个与下图完全一样的带有进度条的 listView

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

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

更改为相对布局

@Chintan 回答

【问题讨论】:

  • 那么你这样做有什么问题?
  • @Sree 我想在 Pro-XXX 旁边显示进度条
  • 尝试将 LinearLayout 更改为相对布局。
  • 你有很多方法可以做到这一点,尽力而为
  • 在你的 TextView 中添加这个 android:lines="2"。我还编辑了我的答案。请检查。 @Seng​​span>

标签: android xml progress-bar android-progressbar


【解决方案1】:

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

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

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

输入以下代码

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

【讨论】:

  • 你的输出和@Chintan一样
【解决方案3】:

将您的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>

让我知道这是否适合你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 2023-02-22
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多