在 Android 中,可以使用以下方法為布局添加描邊:
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>
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ù)需要自定義描邊的寬度、顏色、虛線效果和圓角半徑等屬性。