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 的变化来更新你的轮廓样式
}
}
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
类中的代码来自定义轮廓的形状和样式。