毕加索:将布局加载到Button中而不是可绘制

时间:2018-06-28 18:03:39

标签: java android xml

这就是我所拥有的:

MyButton.java

public class MyButton extends AppCompatButton implements Target {
public MyButton(Context context) {
    super(context);
}

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

public MyButton(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}


@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
    setBackgroundDrawable(new BitmapDrawable(bitmap));
}

@Override
public void onBitmapFailed(Exception e, Drawable errorDrawable) {

}

@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {

}}

在我的片段中,我有这个:

MyButton BteyoutubePlay;
BteyoutubePlay = (MyButton) v.findViewById(R.id.BteyoutubePlay);
Picasso.get().load(R.drawable.gris_xml).into(BteyoutubePlay);

这是我的gris_xml.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="rectangle">
        <solid android:color="#8E8D8D"/>
        <corners android:radius="15dp"/>
    </shape>
  </item>
<item android:drawable="@drawable/g_drawable"></item>

因此,这里的所有内容都可以使用,但是毕加索不会加载我的版式,如果我替换它,它也可以使用:

 Picasso.get().load(R.drawable.gris_xml).into(BteyoutubePlay);

作者:

Picasso.get().load(R.drawable.g_drawable).into(BteyoutubePlay);

所以基本上放置图像而不是布局,我使用的是布局,因为它会使按钮的角变圆,并在其中添加颜色...

如果有人知道我如何实现这一目标,那将非常有帮助!

谢谢:) 亲切地 LooK

0 个答案:

没有答案