Android从可绘制XML创建按钮

Android从可绘制XML创建按钮,android,xml,button,Android,Xml,Button,我想用我的格式化按钮(来自XML)编程 这是我的ButtonShape.xml,它位于drawable文件夹中 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="true" android:drawable="@draw

我想用我的格式化按钮(来自XML)编程

这是我的ButtonShape.xml,它位于drawable文件夹中

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_focused="true"
        android:state_pressed="true"
        android:drawable="@drawable/button" />

    <item
        android:state_focused="false"
        android:state_pressed="true"
        android:drawable="@drawable/button" />

    <item android:drawable="@drawable/buttonpressed" />
</selector>

你知道怎么做吗。

试试这段代码

Drawable drawable = ContextCompat.getDrawable(newBut.getContext(), R.drawable.ButtonShape);
ViewCompat.setBackground(newBut, drawable);

谢谢你。ContextCompat。ViewCompat无法解析SYMBOL将
编译“com.android.support:support-v4:25.2.0'
添加到您的依赖项中。在build.gradle内?是的,在build.gradleError:找不到参数[com.android.support:support-v4:25.2.0]的方法compile()在类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象上。请从Android SDK管理器安装Android支持存储库。
Drawable drawable = ContextCompat.getDrawable(newBut.getContext(), R.drawable.ButtonShape);
ViewCompat.setBackground(newBut, drawable);