约束布局和shape的日常使用问题

384 阅读1分钟

最近主要是做页面的搭建,因此重要总结一下关于写界面中的问题和总结

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>