溫馨提示×

android layout描邊的方法是什么

小億
125
2023-09-13 19:58:50
欄目: 編程語言

在 Android 中,可以使用以下方法為布局添加描邊:

  1. 使用 android:background 屬性設(shè)置一個帶有描邊的自定義 drawable。首先創(chuàng)建一個 XML 文件,定義一個帶有描邊的 shape drawable,例如:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#000000" /> <!-- 設(shè)置填充顏色 -->
<stroke
android:color="#FF0000" <!-- 設(shè)置描邊顏色 -->
android:width="2dp" <!-- 設(shè)置描邊寬度 -->
android:dashWidth="4dp" <!-- 設(shè)置虛線寬度 -->
android:dashGap="2dp" /> <!-- 設(shè)置虛線間隔 -->
<corners android:radius="8dp" /> <!-- 設(shè)置圓角半徑 -->
</shape>

然后,在布局文件中使用該 drawable:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_background" <!-- 設(shè)置自定義 drawable -->
...>
...
</LinearLayout>
  1. 使用 ViewOutlineProvider 類來添加描邊。首先在布局文件中聲明一個自定義的 View,例如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
...>
...
<View
android:id="@+id/outline_view"
android:layout_width="match_parent"
android:layout_height="4dp" <!-- 設(shè)置描邊高度 -->
.../>
...
</LinearLayout>

然后,在代碼中為該 View 設(shè)置描邊效果:

View outlineView = findViewById(R.id.outline_view);
outlineView.setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setRect(0, 0, view.getWidth(), view.getHeight()); // 設(shè)置描邊范圍
}
});
outlineView.setClipToOutline(true); // 設(shè)置為 true,使描邊生效

注意:這種方法只適用于 Android 5.0(API 級別 21)及以上版本。

這些方法可以根據(jù)需要自定義描邊的寬度、顏色、虛線效果和圓角半徑等屬性。

0