小程序app软件开发公司杭州网站seo推广
作为一名程序员,可能会经历以下难受的事情:
- 解决难以调试的代码错误
- 处理复杂的代码库和维护遗留代码
- 修改已经存在很长时间的代码,需要考虑兼容性和稳定性
- 长时间工作,缺乏身体运动和社交互动,导致压力和孤独感
- 遇到不能解决的技术问题,需要进行大量的研究和学习
- 调整工作计划和排期,以满足紧急需求和客户需求
- 参加无聊和冗长的会议
- 处理糟糕的老板或客户的需求和要求
- 社交能力不足,与其他团队成员沟通和交流困难
- 压力大,需要在短时间内完成复杂的任务。
ConstraintLayout是Android Studio 2.3版本中推出的一种布局,它被认为是一种更加灵活、更加强大的布局,它可以在大多数情况下替代其他布局,比如RelativeLayout、LinearLayout等。下面是ConstraintLayout的使用详解。
- 基础概念
约束(Constraint):Constraint指的是控件与父容器或其它控件之间的关系,比如:控件的上边缘与其父容器的上边缘对齐、控件的左边缘与另一个控件的右边缘对齐等。
约束线(Constraint Line):Constraint Line指的是两个控件之间的连接线,每个控件都有四条Constraint Line,分别是上、下、左、右。
- 布局实现
在使用ConstraintLayout布局时,需要做的第一件事情就是在build.gradle文件中添加依赖:
dependencies {implementation 'com.android.support.constraint:constraint-layout:2.0.4'
}
然后,在layout文件中使用ConstraintLayout标签:
<androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><!-- 子控件 -->
</androidx.constraintlayout.widget.ConstraintLayout>
接下来,我们就可以开始使用约束来布局了。下面是ConstraintLayout的典型布局方式:
<Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 1" /><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 2" /><Buttonandroid:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 3" /><Buttonandroid:id="@+id/btn4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 4" /><Buttonandroid:id="@+id/btn5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 5" /><Buttonandroid:id="@+id/btn6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 6" /><Buttonandroid:id="@+id/btn7"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 7" /><Buttonandroid:id="@+id/btn8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 8" /><Buttonandroid:id="@+id/btn9"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 9" /><Buttonandroid:id="@+id/btn10"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button 10" />
效果图