【问题标题】:ListView is not displaying correctly when I make a CAST当我进行 CAST 时,ListView 无法正确显示
【发布时间】:2018-02-07 15:01:16
【问题描述】:

我在应用程序中有一个模块,用于将一些内容投射到 chrome cast。我在演员表上显示的布局有一个动态列表视图,我在其中放置了一些数据。

问题在于listView 不尊重layoutrows 并且未正确显示(行中视图之间的大小和间距不正确),但其他元素确实如此。

我在手机上有“正常”activities,它也使用listviews 来显示完全相同的数据并且工作完美。

知道为什么它不能正常工作吗?

代码如下:

演员阵容:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">

<android.support.constraint.ConstraintLayout
    android:id="@+id/blueLayout"
    android:layout_width="0dp"
    android:layout_height="100dp"
    android:background="@drawable/gradient_background"
    app:layout_constraintBottom_toTopOf="@+id/infoHeadLayout"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">


    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="51dp"
        android:layout_marginStart="64dp"
        android:layout_marginTop="16dp"
        android:letterSpacing="0.19"
        android:lineSpacingExtra="3sp"
        android:text="@string/b"
        android:textColor="#ffffff"
        android:textSize="27sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

</android.support.constraint.ConstraintLayout>

<android.support.constraint.ConstraintLayout
    android:id="@+id/infoHeadLayout"
    android:layout_width="0dp"
    android:layout_height="62dp"
    android:layout_marginBottom="354dp"
    android:visibility="visible"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/blueLayout">

    <TextView
        android:id="@+id/nameText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="23dp"
        android:layout_marginEnd="826dp"

        android:layout_marginStart="32dp"
        android:layout_marginTop="23dp"
        android:letterSpacing="0.09"
        android:lineSpacingExtra="10sp"
        android:text="@string/name"
        android:textColor="#000000"
        android:textSize="12sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/rankText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="23dp"
        android:layout_marginEnd="719dp"
        android:layout_marginStart="75dp"
        android:layout_marginTop="23dp"
        android:letterSpacing="0.09"
        android:lineSpacingExtra="10sp"
        android:text="@string/rank"
        android:textColor="#000000"
        android:textSize="12sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/nameText"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/priceText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="23dp"
        android:layout_marginEnd="610dp"
        android:layout_marginStart="75dp"
        android:layout_marginTop="23dp"
        android:letterSpacing="0.09"
        android:lineSpacingExtra="10sp"
        android:text="@string/price"
        android:textColor="#000000"
        android:textSize="12sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/rankText"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/changeText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="23dp"
        android:layout_marginEnd="449dp"
        android:layout_marginStart="75dp"
        android:layout_marginTop="23dp"
        android:letterSpacing="0.09"
        android:lineSpacingExtra="10sp"
        android:text="@string/change"
        android:textColor="#000000"
        android:textSize="12sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/priceText"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/mText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="23dp"
        android:layout_marginEnd="300dp"
        android:layout_marginStart="75dp"
        android:layout_marginTop="23dp"
        android:letterSpacing="0.09"
        android:lineSpacingExtra="10sp"
        android:text="@string/market_cap"
        android:textColor="#000000"
        android:textSize="12sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/changeText"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/supplyText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:layout_marginEnd="181dp"
        android:layout_marginStart="75dp"
        android:layout_marginTop="23dp"
        android:letterSpacing="0.09"
        android:lineSpacingExtra="10sp"
        android:text="@string/supply"
        android:textColor="#000000"
        android:textSize="12sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/mText"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="23dp"
        android:layout_marginEnd="35dp"
        android:layout_marginStart="75dp"
        android:layout_marginTop="23dp"
        android:letterSpacing="0.09"
        android:lineSpacingExtra="10sp"
        android:text="@string/volume_24_hr"
        android:textColor="#000000"
        android:textSize="12sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/supplyText"
        app:layout_constraintTop_toTopOf="parent" />


</android.support.constraint.ConstraintLayout>

<android.support.constraint.ConstraintLayout
    android:id="@+id/contentRemoteLayout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/infoHeadLayout">

    <ListView
        android:id="@+id/dataList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

</android.support.constraint.ConstraintLayout>

listView 所在行的布局与 infoHead 约束布局完全相同

【问题讨论】:

  • 你的代码在哪里?
  • @NoumanCh 对不起!这里是

标签: android android-layout listview android-arrayadapter google-cast


【解决方案1】:

根据您所写的内容,我猜您为适配器定义了一个行布局,并且每行的所有数据都在一个 ConstraintLayout 内。我找到了将约束布局更改为相对布局的解决方案。

【讨论】:

    猜你喜欢
    • 2021-01-21
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多