setOutlineProvider()
是 Android 中用于设置控件轮廓(即边界)提供者的方法
以下是如何为 Button
设置自定义轮廓提供者的示例:
- 首先,创建一个自定义的
OutlineProvider
类:
import android.content.Context; import android.graphics.Outline; import androidx.annotation.NonNull; import com.google.android.material.shape.MaterialShapeDrawable; public class CustomOutlineProvider extends MaterialShapeDrawable { public CustomOutlineProvider(@NonNull Context context) { super(context); // 在这里定义你的轮廓形状和样式 } @Override protected void onOutlineChanged(Outline outline) { super.onOutlineChanged(outline); // 在这里可以根据 outline 的变化来更新你的轮廓样式 } }
- 然后,在你的 Activity 或 Fragment 中为
Button
设置自定义轮廓提供者:
import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = findViewById(R.id.button); button.setOutlineProvider(new CustomOutlineProvider(this)); } }
在这个示例中,我们创建了一个名为 CustomOutlineProvider
的自定义类,继承自 MaterialShapeDrawable
。然后,我们在 MainActivity
中为 Button
设置了自定义轮廓提供者。你可以根据需要修改 CustomOutlineProvider
类中的代码来自定义轮廓的形状和样式。