最近主要是做页面的搭建,因此重要总结一下关于写界面中的问题和总结
1.约束布局的用法总结
首先第一个问题是使用约束布局,imageview和textview的内容底部对齐,刚开始时用的是
layout_constraintBottom_toBottomOf="parent"
但是实际结果却是imagview高于textview的内容,但是实际看预览却是都在父布局的底部,最终解决方式是
<ImageView
app:layout_constraintBaseline_toBaselineOf=“@id/tx_num”
app:baselineAlignBottom="true"
/>
第二个问题是多个组件的平均分配,主要是按照顺序去做约束
<TextView
android:id="@+id/tx2"
app:layout_constraintLeft_toRightOf="@id/tx1"
app:layout_constraintRight_toLeftOf="@id/tx2"
/>
<TextView
android:id="@+id/tx3"
app:layout_constraintLeft_toRightOf="@id/tx2"
app:layout_constraintRight_toLeftOf="@id/tx4"
/>
第三个问题是一个宽度自适应的textview,但是不能超过imageview的左边
<TextView
android:layout_width="0dp"
app:layout_constraintRight_toLeftOf="@id/iv"
app:layout_constraintHorizontal_weight="1"
/>
2.shape的使用
首先简单图形包括"rectangle"-矩形,"oval"-椭圆,"line"-线,"ring"-圆环的使用。但是对于一些比较复杂的shape的使用,主要是layer-list和gradien的使用
<?xml version="1.0" encoding="utf-8"?>
<!--这个类似framelayout-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
>
<!--#70C005-->
<item>
<shape android:shape="rectangle">
<corners android:radius="25dp" />
<solid android:color="#ffFAEDAD" />
</shape>
</item>
<!--这里的top,bottom等类似margin,-->
<item android:top="2dp"
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
>
<shape android:shape="rectangle">
<corners android:radius="25dp" />
<!--angle是指渐变角度,0是指从左到右,90是指从下到上,必须是45的整数倍-->
<gradient
android:startColor="#70C005"
android:endColor="#7EC517"
android:angle="90"
android:useLevel="false"
/>
</shape>
</item>
</layer-list>