📜  边框底部 android xml - Java (1)

📅  最后修改于: 2023-12-03 15:12:18.513000             🧑  作者: Mango

边框底部 Android XML & Java

在 Android 开发中,通常需要添加边框效果来对 UI 进行美化。其中边框底部效果常用于标记某些特殊的 UI 元素,比如按钮和文本框。

本篇文章将会介绍如何使用 XML 和 Java 两种方式来实现边框底部效果,附带详细步骤和代码示例。

使用 XML 实现边框底部效果

首先,我们需要在 XML 布局文件中添加 View 元素,并使用 android:background 属性来设置 View 的背景颜色和边框样式。

<View
    android:id="@+id/view"
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:background="@drawable/border_bottom" />

@drawable/border_bottom 中,我们定义了一个 XML 资源文件,用于设置 View 的边框底部样式。下面是代码示例:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#ffffff" />

    <stroke
        android:width="1dp"
        android:color="#cccccc" />

    <padding
        android:bottom="1dp" />

</shape>

在该代码中,我们使用 <stroke> 属性来设置边框的宽度和颜色,<solid> 属性来设置 View 的背景颜色,<padding> 属性来设置边框到 View 内容的距离。

使用 Java 实现边框底部效果

除了使用 XML 方式来实现边框底部效果外,我们也可以使用 Java 代码来实现。

首先,我们定义一个继承自 View 的自定义 View 类,重写 onDraw() 方法来绘制 View 的背景和边框。下面是代码示例:

public class BorderBottomView extends View {
    Paint paint = new Paint();

    public BorderBottomView(Context context) {
        super(context);
        init();
    }

    public BorderBottomView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public BorderBottomView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    private void init() {
        paint.setAntiAlias(true);
        paint.setStyle(Paint.Style.FILL_AND_STROKE);
        paint.setStrokeWidth(1);
        paint.setColor(Color.GRAY);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        // 绘制背景
        canvas.drawRect(0, 0, getWidth(), getHeight(), paint);

        // 绘制底部边框
        paint.setColor(Color.WHITE);
        paint.setStrokeWidth(4);
        canvas.drawLine(0, getHeight() - 4, getWidth(), getHeight() - 4, paint);
    }
}

在该代码中,我们使用 Canvas 类来进行绘制操作,并定义了 Paint 类来设置绘制的样式。

最后,我们在 XML 布局文件中使用自定义的 View ,并设置 android:layout_height 属性来为 View 的高度预留出边框的高度。

<com.example.borderbottomview.BorderBottomView
    android:layout_width="match_parent"
    android:layout_height="60dp" />
结论

本篇文章介绍了如何使用 XML 和 Java 两种方式来实现边框底部效果。我们可以根据实际需求选择不同的方式来进行实现,使 UI 界面呈现出更好的效果。