在Android中,要使用setOutlineProvider
實現圓角效果,你需要遵循以下步驟:
ViewOutlineProvider
類,重寫getOutline
方法。在這個方法中,你可以設置圓角的半徑和形狀。import android.graphics.Outline;
import android.view.View;
import android.view.ViewOutlineProvider;
public class RoundRectOutlineProvider extends ViewOutlineProvider {
private float cornerRadius;
public RoundRectOutlineProvider(float cornerRadius) {
this.cornerRadius = cornerRadius;
}
@Override
public void getOutline(View view, Outline outline) {
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), cornerRadius);
}
}
setOutlineProvider
方法設置自定義的ViewOutlineProvider
。public class CustomView extends View {
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
setOutlineProvider(new RoundRectOutlineProvider(20)); // 設置圓角半徑為20像素
setClipToOutline(true); // 啟用裁剪
}
}
<com.example.myapplication.CustomView
android:layout_width="match_parent"
android:layout_height="wrap_content" />
通過以上步驟,你可以實現一個具有圓角效果的自定義視圖。請注意,圓角效果僅在Android 5.0(API級別21)及更高版本的設備上生效。如果你需要支持較低版本的設備,可以考慮使用第三方庫,如CardView。