Android 原生 View 添加圆角的实现

在 Android 开发中,给 View 添加圆角边框是一种常见的需求。本文将通过一个简单的步骤流程向你展示如何实现这一目标。我们将使用 XML 和 Java/Kotlin 代码结合的方式来完成这个任务。下面是实现的基本步骤:

步骤编号任务描述
1准备圆角背景资源文件
2在布局文件中使用该背景资源
3在代码中设置 View(可选)

步骤 1: 准备圆角背景资源文件

首先,在 res/drawable 文件夹下创建一个新的 XML 文件,例如 rounded_corners.xml。该文件将定义圆角效果。

<!-- res/drawable/rounded_corners.xml -->
<shape xmlns:android="
    android:shape="rectangle">

    <!-- 设置圆角半径 -->
    <corners android:radius="16dp"/>
    
    <!-- 设置填充颜色 -->
    <solid android:color="#FF6200EE"/>
</shape>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

注释:

  • <shape>:定义一个形状。
  • <corners>:设置角的半径
  • <solid>:设置形状的填充颜色

步骤 2: 在布局文件中使用该背景资源

接下来,在你的布局文件中引用这个背景文件。可以在 res/layout 中的 XML 文件中添加一个 View(如 Button 或 TextView)。

<!-- res/layout/activity_main.xml -->
<RelativeLayout xmlns:android="
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/my_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/rounded_corners"
        android:padding="16dp"
        android:text="Hello, World!"
        android:textColor="#FFFFFF"/>
</RelativeLayout>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

注释:

  • android:background:引用之前创建的圆角背景文件。
  • android:padding:为 TextView 添加内边距。

步骤 3: 在代码中设置 View(可选)

如果你需要在代码中动态设置 View 的背景,可以这样做:

Java 代码示例
// MainActivity.java
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // 获取 TextView 并设置背景
        TextView textView = findViewById(R.id.my_text_view);
        textView.setBackgroundResource(R.drawable.rounded_corners);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
Kotlin 代码示例
// MainActivity.kt
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        // 获取 TextView 并设置背景
        my_text_view.setBackgroundResource(R.drawable.rounded_corners)
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

注释:

  • setBackgroundResource(...):动态设置 View 的背景为圆角背景。

关系图

使用下图展示ViewDrawable之间的关系:

erDiagram
    VIEW ||--o{ DRAWABLE : uses
    VIEW {
        +String id
        +String background
    }
    DRAWABLE {
        +String shape
        +String color
        +int radius
    }

序列图

以下是设置背景的序列图:

Drawable TextView MainActivity User Drawable TextView MainActivity User Launch App setBackgroundResource(rounded_corners) Apply rounded_corners

结尾

通过以上步骤,你应该了解了如何在 Android 原生 View 中添加圆角效果。使用 XML 定义圆角背景,并在布局或代码中将其应用到 View,从而实现美观的界面效果。希望这篇文档可以帮助你更好地理解和掌握这一技能。继续探索 Android 开发中的其他功能,相信你会越来越熟练!