Pem*_*ang 5 java android android-custom-view android-layout kotlin
这个问题已经被问到,这里已经接受了答案,但接受的答案并不是我想要的.我想使用一个自定义视图,其中缺口占用视图的宽度+一些边距,如上图中的付费图标.虽然寻找到它拥有一个晶圆厂像bottomappbar 这个 我看到了一个叫做类边缘治疗类我想这可以作为很好.我不会发布我的自定义视图代码,因为我可以绘制的是一个矩形.
您需要使用绘制曲线Cubic Bézier Curve
.Bartosz Ciechanowski 在这里写了一篇很好的文章来了解如何绘制这样的曲线.
我开发了一个View
绘制像谷歌付款继承的形状FrameLayout
.源代码在其github存储库中可用(但尚未记录!).但是,请将以下行添加到您的应用级build.gradle
文件中:
repositories {
jcenter()
}
dependencies {
implementation 'com.aminography:beziercurvebulgelayout:1.0.2'
}
Run Code Online (Sandbox Code Playgroud)
然后您可以在xml
布局文件中使用它,如下所示:
<com.aminography.view.BezierCurveBulgeLayout
android:id="@+id/bulgeLayout"
android:layout_width="match_parent"
android:layout_height="56dp"
app:bulgeType="bulge"
app:bulgeColor="@color/colorPrimary"
app:curveWidth="32dp"
app:flatWidth="56dp"
app:flatHeight="24dp">
<android.support.v7.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@android:drawable/ic_menu_compass"/>
</com.aminography.view.BezierCurveBulgeLayout>
Run Code Online (Sandbox Code Playgroud)
它的形状和颜色可以通过更改以下属性来定制以实现目标形状:
归档时间: |
|
查看次数: |
340 次 |
最近记录: |