【问题标题】:ListView , Is there a way to increase the height?ListView ,有没有办法增加高度?
【发布时间】:2019-06-02 10:10:58
【问题描述】:

我不知道为什么当我对文本视图施加约束时,它不会出现在我想要的确切位置,我认为这可能是列表视图高度问题将所有内容推到了一起

下图是问题显示:

这是我的适配器:

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        //Put the food_list_layout in the convertView
        if(convertView == null){
            convertView = View.inflate(context, R.layout.preorder_list_layout_orders,null);
        }

这是我的 XML 文件:

<?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">
    <TextView
        android:id="@+id/orderID"
        android:layout_width="319dp"
        android:layout_height="27dp"
        android:layout_marginStart="8dp"

        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="Transaction ID"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.25"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.011" />
    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.066"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.074"
        app:srcCompat="@drawable/ic_launcher_background" />

    <TextView
        android:id="@+id/orderFoodName"
        android:layout_width="168dp"
        android:layout_height="29dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="Food Name"
        android:textSize="20dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.607"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.091" />

    <TextView

        android:id="@+id/textView4"
        android:layout_width="59dp"
        android:layout_height="25dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="Quantity: "
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.146" />

    <TextView
        android:id="@+id/orderQuantity"
        android:layout_width="70dp"
        android:layout_height="22dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="Quantity"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.698"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.145" />

    <TextView
        android:id="@+id/orderAN"
        android:layout_width="371dp"
        android:layout_height="28dp"
        android:layout_marginStart="8dp"

        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="addnotes"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.791"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.282" />

    <TextView
        android:id="@+id/textView6"
        android:layout_width="124dp"
        android:layout_height="29dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="Collection Timing:"
        android:textSize="15dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.07"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/orderAN"
        app:layout_constraintVertical_bias="0.015" />

    <TextView
        android:id="@+id/orderCT2"
        android:layout_width="124dp"
        android:layout_height="29dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="Collection Timing"
        android:textSize="15dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toEndOf="@+id/textView6"
        app:layout_constraintTop_toBottomOf="@+id/orderAN"
        app:layout_constraintVertical_bias="0.015" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:text="Additional Notes: "
        android:textSize="15dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.068"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.237" />

</android.support.constraint.ConstraintLayout>

【问题讨论】:

    标签: android android-layout android-view


    【解决方案1】:

    试试这个

    <?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"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:id="@+id/orderID"
            android:layout_width="319dp"
            android:layout_height="0dp"
            android:layout_marginStart="27dp"
            android:layout_marginTop="13dp"
            android:layout_marginBottom="9dp"
            android:text="Transaction ID"
            app:layout_constraintBottom_toTopOf="@+id/imageView2"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="32dp"
            android:layout_marginEnd="90dp"
            android:layout_marginBottom="17dp"
            android:src="@drawable/ic_image_black_24dp"
            app:layout_constraintBottom_toTopOf="@+id/orderQuantity"
            app:layout_constraintEnd_toStartOf="@+id/orderFoodName"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/orderID" />
    
        <TextView
            android:id="@+id/orderFoodName"
            android:layout_width="0dp"
            android:layout_height="29dp"
            android:layout_marginTop="18dp"
            android:layout_marginEnd="97dp"
            android:layout_marginBottom="25dp"
            android:text="Food Name"
            android:textSize="20dp"
            android:textStyle="bold"
            app:layout_constraintBottom_toBottomOf="@+id/orderQuantity"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/imageView2"
            app:layout_constraintTop_toBottomOf="@+id/orderID" />
    
        <TextView
    
            android:id="@+id/textView4"
            android:layout_width="0dp"
            android:layout_height="25dp"
            android:layout_marginStart="176dp"
            android:text="Quantity: "
            android:textStyle="bold"
            app:layout_constraintBaseline_toBaselineOf="@+id/orderQuantity"
            app:layout_constraintEnd_toStartOf="@+id/orderQuantity"
            app:layout_constraintStart_toStartOf="parent" />
    
        <TextView
            android:id="@+id/orderQuantity"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginEnd="106dp"
            android:layout_marginBottom="29dp"
            android:text="Quantity"
            android:textStyle="bold"
            app:layout_constraintBottom_toTopOf="@+id/textView5"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView4"
            app:layout_constraintTop_toBottomOf="@+id/imageView2" />
    
        <TextView
            android:id="@+id/orderAN"
            android:layout_width="0dp"
            android:layout_height="0dp"
    
            android:layout_marginStart="13dp"
            android:layout_marginEnd="13dp"
            android:layout_marginBottom="14dp"
            android:text="addnotes"
            app:layout_constraintBottom_toTopOf="@+id/textView6"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView5" />
    
        <TextView
            android:id="@+id/textView6"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginStart="27dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="367dp"
            android:text="Collection Timing:"
            android:textSize="15dp"
            android:textStyle="bold"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/orderCT2"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/orderAN" />
    
        <TextView
            android:id="@+id/orderCT2"
            android:layout_width="0dp"
            android:layout_height="29dp"
            android:layout_marginEnd="128dp"
            android:text="Collection Timing"
            android:textSize="15dp"
            android:textStyle="bold"
            app:layout_constraintBaseline_toBaselineOf="@+id/textView6"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView6" />
    
    
        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="4dp"
            android:text="Additional Notes: "
            android:textSize="15dp"
            android:textStyle="bold"
            app:layout_constraintBottom_toTopOf="@+id/orderAN"
            app:layout_constraintStart_toStartOf="@+id/orderAN"
            app:layout_constraintTop_toBottomOf="@+id/orderQuantity" />
    
    </android.support.constraint.ConstraintLayout>
    

    【讨论】:

    • 嘿 John Joe,您提供的代码不会对每个屏幕尺寸都做出响应,让我解释一下原因:您经常使用固定尺寸,例如 android:layout_marginEnd="128dp。这些尺寸在 dp 中非常大- 在下面查看我的回答,相信它可以帮助您更好地了解 ConstraintLayout 的强大功能
    • 此外,如果您想了解更多有关响应式布局的信息,我的回答 here 会更详细。
    【解决方案2】:

    您的视图使用固定大小,这使您的屏幕无响应。

    如果你想实现响应式布局不要使用固定大小,你可以使用ConstraintLayout,但带有android:layout_width="0dp"android:layout_width="wrap_content"属性和一些Guidelines

    这是您想要的布局的示例:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.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:layoutDirection="ltr"
      android:orientation="vertical">
    
    
    
    <TextView
        android:id="@+id/orderID"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
    
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:text="Transaction ID"
        app:layout_constraintBottom_toTopOf="@+id/imageView2"
        app:layout_constraintEnd_toStartOf="@+id/guideline2"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="@+id/guideline"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.011" />
    
    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toTopOf="@+id/textView5"
        app:layout_constraintEnd_toStartOf="@+id/guideline3"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="@+id/orderID"
        app:layout_constraintTop_toBottomOf="@+id/orderID"
        app:layout_constraintVertical_bias="1.0"
        app:srcCompat="@drawable/ic_launcher_background" />
    
    <TextView
        android:id="@+id/orderFoodName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginEnd="8dp"
        android:text="Food Name"
        android:textSize="20dp"
        android:textStyle="bold"
        app:layout_constraintEnd_toStartOf="@+id/guideline2"
        app:layout_constraintHorizontal_bias="0.607"
        app:layout_constraintStart_toEndOf="@+id/imageView2"
        app:layout_constraintTop_toTopOf="@+id/imageView2" />
    
    <TextView
    
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:text="Quantity: "
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="@+id/imageView2"
        app:layout_constraintStart_toStartOf="@+id/orderFoodName"
        app:layout_constraintTop_toBottomOf="@+id/orderFoodName"
        app:layout_constraintVertical_bias="0.146" />
    
    <TextView
        android:id="@+id/orderQuantity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginBottom="8dp"
        android:text="Quantity"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="@+id/textView4"
        app:layout_constraintStart_toEndOf="@+id/textView4"
        app:layout_constraintTop_toTopOf="@+id/textView4"
        app:layout_constraintVertical_bias="0.145" />
    
    <TextView
        android:id="@+id/orderAN"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:text="addnotes"
        app:layout_constraintBottom_toTopOf="@+id/textView6"
        app:layout_constraintEnd_toStartOf="@+id/guideline3"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="@+id/orderID"
        app:layout_constraintTop_toBottomOf="@+id/textView5" />
    
    <TextView
        android:id="@+id/textView6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Collection Timing:"
        android:textSize="15dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toEndOf="@+id/imageView2"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="@+id/orderID"
        app:layout_constraintTop_toBottomOf="@+id/orderAN"
        app:layout_constraintVertical_bias="0.015" />
    
    <TextView
        android:id="@+id/orderCT2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginEnd="8dp"
        android:text="Collection Timing"
        android:textSize="15dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="@+id/textView6"
        app:layout_constraintEnd_toStartOf="@+id/guideline2"
        app:layout_constraintStart_toEndOf="@+id/textView6"
        app:layout_constraintTop_toTopOf="@+id/textView6"
        app:layout_constraintVertical_bias="0.015" />
    
    
    <TextView
        android:id="@+id/textView5"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:text="Additional Notes: "
        android:textSize="15dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/orderAN"
        app:layout_constraintEnd_toStartOf="@+id/guideline3"
        app:layout_constraintStart_toStartOf="@+id/orderID"
        app:layout_constraintTop_toBottomOf="@+id/imageView2" />
    
    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_begin="20dp"
        app:layout_constraintGuide_percent="0.05" />
    
    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_begin="385dp"
        app:layout_constraintGuide_percent="0.95" />
    
    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_begin="144dp" />
    
    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_begin="392dp"
        app:layout_constraintGuide_percent="0.4" />
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    看起来像这样:

    【讨论】:

    • 您只是复制粘贴了吗?因为您需要将androidx.constraintlayout.widget.ConstraintLayout 更改为android.support.constraint.ConstraintLayout
    • android.view.InflateException: Binary XML file line #152: Binary XML file line #152: Error inflating class androidx.constraintlayout.widget.Guideline 原因:android.view.InflateException: Binary XML file第 152 行:错误膨胀类 androidx.constraintlayout.widget.Guideline 原因:java.lang.ClassNotFoundException:在路径上找不到类“androidx.constraintlayout.widget.Guideline”:DexPathList [[zip 文件“/data/app /com.example.owner-yaBDEkayrb8TUNUcxFBjfQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.owner-yaBDEkayrb8TUNUcxFBjfQ==/lib/x86,
    • 另外,将androidx.constraintlayout.widget.Guideline 替换为android.support.constraint.Guideline
    • 我的代码的问题不是由于列表视图的高度吗?是不是可以增加每行的listview高度?
    • 如果您愿意,可以将约束布局更改为 500 dp。但它在每个设备上看起来都不一样。在我看来,最好为所有设备创建 1 个布局
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多