背景
UI要求部分场景居中显示两个按钮,部分场景仅居中显示其中一个按钮,效果图如下:
显示A和B两个操作
仅显示A操作
实现方案
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="0dp" android:layout_height="62dp" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" android:id="@+id/centerLayout" android:background="@color/colorPrimary"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="156dp" android:layout_height="46dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" android:layout_marginStart="8dp" android:layout_marginEnd="8dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" android:background="@color/colorAccent" android:id="@+id/aLayout" app:layout_constraintEnd_toStartOf="@+id/guideline" > <TextView android:text="操作A" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" android:layout_marginBottom="8dp" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="156dp" android:layout_height="46dp" android:layout_marginEnd="8dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:background="@color/colorAccent" android:id="@+id/bLayout" app:layout_constraintStart_toStartOf="@+id/guideline" android:layout_marginStart="8dp"> <TextView android:text="操作B" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView2" app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent" android:layout_marginBottom="8dp" app:layout_constraintBottom_toBottomOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout> <androidx.constraintlayout.widget.Guideline android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintGuide_percent="0.5" android:id="@+id/guideline"/> </androidx.constraintlayout.widget.ConstraintLayout> <Button android:text="隐藏B" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/hideBBtn" app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintEnd_toStartOf="@+id/showBBtn" android:layout_marginBottom="76dp" app:layout_constraintBottom_toBottomOf="parent"/> <Button android:text="显示B" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/showBBtn" app:layout_constraintBaseline_toBaselineOf="@+id/hideBBtn" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" app:layout_constraintStart_toEndOf="@+id/hideBBtn" app:layout_constraintHorizontal_bias="0.5"/></androidx.constraintlayout.widget.ConstraintLayout>
activity代码(Kotlin)
hideBBtn.setOnClickListener { bLayout.visibility = View.GONE guideline.setGuidelinePercent(1.0f) } showBBtn.setOnClickListener { bLayout.visibility = View.VISIBLE guideline.setGuidelinePercent(0.5f) }
作者:程序园中猿
链接:https://www.jianshu.com/p/d1301d25cfee
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦