在Constraint布局中看不到视图

时间:2018-05-06 06:22:43

标签: android xml

在Constraint布局中,我有一个Button,顶部是图像视图(id == R.id.imageView),它对齐中右 - 按钮的区域。图像视图的背景是白色的右箭头。在设计视图和我的设备中,不显示图像视图。我清理并构建了项目,但问题仍然存在。在下面的图像中,蓝色矩形部分是图像应该显示的区域。请为此提供解决方案......

设计预览:

enter image description here

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/head"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/ph_verify_lbl_mrgn"
    android:text="@string/verify_your_phone_number"
    android:textColor="#bb2b67"
    android:textSize="@dimen/ph_verify_head_tsxtsze"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

 <TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="4dp"
    android:text="@string/lorem_ipsum_lorem_ipsum"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/head" />

 <EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_marginEnd="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:hint="@string/ph_hint"
    android:inputType="number"
    android:paddingTop="16dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView" />

 <ImageView
    android:id="@+id/imageView"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginStart="8dp"

    android:background="@drawable/arrow"
    app:layout_constraintBottom_toBottomOf="@+id/button"
    app:layout_constraintEnd_toEndOf="@+id/button"
    app:layout_constraintHorizontal_bias="0.909"
    app:layout_constraintStart_toStartOf="@+id/button"
    app:layout_constraintTop_toTopOf="@+id/button"
    app:layout_constraintVertical_bias="0.571" />

 <Button
    android:id="@+id/button"
    android:layout_width="match_parent"
    android:layout_height="89dp"
    android:layout_marginTop="16dp"
    android:background="@drawable/button_bg"
    android:text="@string/next"
    android:textColor="#ffffff"
    android:textSize="22sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/editText"
    app:layout_constraintVertical_bias="0.25" />

   </android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:1)

ImageView标记放在Button标记下方。 由于您已为按钮提供了匹配父项并将约束设置为水平填充,因此ImageView正在重叠。

您可以通过保留Button clickable="false"的属性并在ImageView

上添加点击监听器来对其进行测试
<Button
    android:id="@+id/button"
    android:layout_width="match_parent"
    android:layout_height="89dp"
    android:layout_marginTop="16dp"
    android:background="@drawable/button_bg"
    android:text="@string/next"
    android:textColor="#ffffff"
    android:textSize="22sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/editText"
    app:layout_constraintVertical_bias="0.25" />

<ImageView
    android:id="@+id/imageView"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginStart="8dp"

    android:background="@drawable/arrow"
    app:layout_constraintBottom_toBottomOf="@+id/button"
    app:layout_constraintEnd_toEndOf="@+id/button"
    app:layout_constraintHorizontal_bias="0.909"
    app:layout_constraintStart_toStartOf="@+id/button"
    app:layout_constraintTop_toTopOf="@+id/button"
    app:layout_constraintVertical_bias="0.571" />

<强>更新

此外,如果这不起作用,请将高程设为ImageView

android:elevation="2dp"