首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

水平链中的两个视图,当一个视图为View.GONE时,另一个视图应在父视图中居中

在Android开发中,水平链是一种布局方式,用于将多个视图按照水平方向连接在一起。当其中一个视图设置为View.GONE时,意味着该视图不可见,并且不占用布局空间。此时,另一个视图应该在父视图中居中显示。

为了实现这个效果,可以使用ConstraintLayout布局来创建水平链,并使用约束条件来控制视图的位置和对齐方式。以下是一种实现的方法:

  1. 在布局文件中,使用ConstraintLayout作为根布局,并添加两个视图,分别为view1和view2。
代码语言:txt
复制
<androidx.constraintlayout.widget.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">

    <View
        android:id="@+id/view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@id/view2"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_chainStyle="packed"
        android:background="@android:color/holo_blue_light"/>

    <View
        android:id="@+id/view2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toEndOf="@id/view1"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:background="@android:color/holo_green_light"/>

</androidx.constraintlayout.widget.ConstraintLayout>
  1. 在代码中,根据需要设置view1和view2的可见性。
代码语言:txt
复制
View view1 = findViewById(R.id.view1);
View view2 = findViewById(R.id.view2);

// 当view1不可见时,将view2设置为居中对齐
if (view1.getVisibility() == View.GONE) {
    ConstraintSet constraintSet = new ConstraintSet();
    constraintSet.clone((ConstraintLayout) view1.getParent());
    constraintSet.centerHorizontally(R.id.view2, ConstraintSet.PARENT_ID);
    constraintSet.applyTo((ConstraintLayout) view1.getParent());
}

通过以上步骤,当view1的可见性设置为View.GONE时,view2会自动居中显示在父视图中。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云计算服务:https://cloud.tencent.com/product
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网:https://cloud.tencent.com/product/iot
  • 腾讯云移动开发:https://cloud.tencent.com/product/mobdev
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/mu
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券