android layoutに縁取りを設定する方法
Androidでレイアウトに枠線を付ける方法は次のとおりです。
- アンドロイド:バックグラウンド
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#000000" /> <!-- 设置填充颜色 -->
<stroke
android:color="#FF0000" <!-- 设置描边颜色 -->
android:width="2dp" <!-- 设置描边宽度 -->
android:dashWidth="4dp" <!-- 设置虚线宽度 -->
android:dashGap="2dp" /> <!-- 设置虚线间隔 -->
<corners android:radius="8dp" /> <!-- 设置圆角半径 -->
</shape>
レイアウトファイルでそのドローアブルを使用します。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_background" <!-- 设置自定义 drawable -->
...>
...
</LinearLayout>
- ビューアウトラインプロバイダ
- 元の文章を日本語に翻訳すると
<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" <!-- 设置描边高度 -->
.../>
...
</LinearLayout>
次に、コード上で、そのViewにアウトラインを設定する。
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()); // 设置描边范围
}
});
outlineView.setClipToOutline(true); // 设置为 true,使描边生效
この方法はAndroid 5.0(API レベル 21)以降のみ有効です。
線の幅や色、点線効果、角丸半径などの属性を必要に応じてカスタマイズできます。