android5.0新特性 clipping的用法
生活随笔
收集整理的這篇文章主要介紹了
android5.0新特性 clipping的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
android5.0新特性 clipping的用法
1.使用場景
? ? 要實現一個按鈕的圓角矩形效果,很簡單,做過android ui開發的同學應該都會,不就是在drawable中新建一個shape文件,類似如下:
然后設置為background。
????然而今天的主角不是shape,而是5.0之后的clipping,更加靈活,直接幾行代碼搞定,不用shape,減少了資源文件的創建
2.實戰
首先創建一個clipping_button.xml文件(不懂constraintLayout的同學可以上網搜一搜,這不是本文的重點):
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"xmlns:app="http://schemas.android.com/apk/res-auto"><Buttonandroid:background="@color/colorAccent"android:layout_width="100dp"android:layout_height="100dp"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintBottom_toBottomOf="parent"android:id="@+id/clipping_button"/> </android.support.constraint.ConstraintLayout>先來看一看運行的效果
很簡單的一個矩形Button,現在我們要用clipping實現圓角矩形效果
import android.app.Activity; import android.graphics.Outline; import android.os.Bundle; import android.view.View; import android.view.ViewOutlineProvider;public class MainActivity extends Activity {private View view;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.clipping_button);view = findViewById(R.id.clipping_button);ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {@Overridepublic void getOutline(View view, Outline outline) {//別忘了加哦,不然沒有效果view.setClipToOutline(true);outline.setRoundRect(0,0,view.getWidth(),view.getHeight(),30);}};view.setOutlineProvider(viewOutlineProvider);} }再來看一看效果圖
總結
以上是生活随笔為你收集整理的android5.0新特性 clipping的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安全研究人员发现新的Android恶意软
- 下一篇: Qt之实现聊天软件