ConstraintLayout背景图片上的某个固定位置添加控件

2019-10-14  本文已影响0人  失足者

有时候在开发中,有这样的需求。你只有一张完整的图片,但是你要在图片中的某个位置添加写控件显示内容或者按钮。如果使用传统的RelateLayout是无法做到屏幕适配的,遇到不同的分辨率屏幕,会有严重的偏差。这时候可以使用ConstraintLayout布局。

重要属性:

取值范围0~1.也可以理解为在水平或者垂直方向上的百分比位置
layout_constraintHorizontal_bias   表示控件在布局水瓶偏移量
layout_constraintVertical_bias  表示控件在布局水瓶偏移量

添加依赖
implements “com.android.support.constraint:constraint-layout:1.1.3”

注意:使用以上两个属性,必须要在有约束条件下才能有效果。即:

      <!--使用水平或垂直偏移量属性要添加相对于的约束属性
      constraintHorizontal:对应左右
      constraintVertical:对应上下-->
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintTop_toTopOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:layout_constraintBottom_toBottomOf="parent"

上代码:

<android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/iv_pressure_bg"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_gravity="left|center_vertical"
            android:scaleType="fitXY"
            android:src="@drawable/pressure1"
            tools:layout_editor_absoluteY="0dp"
            tools:layout_editor_absoluteX="0dp" />
        <TextView
            android:id="@+id/tv_pressure_freezer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#7CFC00"
            android:text="70pa1"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintHorizontal_bias="0.2"
            app:layout_constraintVertical_bias="0.2"/>

        <TextView
            android:id="@+id/tv_pressure_culture_one"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#7CFC00"
            android:text="70pa"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintHorizontal_bias="0.4"
            app:layout_constraintVertical_bias="0.5"/>
        <TextView
            android:id="@+id/tv_pressure_culture_two"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#7CFC00"
            android:text="70pa"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintHorizontal_bias="0.59"
            app:layout_constraintVertical_bias="0.64" />
    </android.support.constraint.ConstraintLayout>

效果图:


图片上固定位置添加控件
上一篇下一篇

猜你喜欢

热点阅读