我有一对夫妇图像按钮在我的布局一个已经绘制的是,当看到一个被点击的时候,它的图像资源设置为不可见图像按钮,看不见的,将其设置为可见这样增加的背景与资源
btn1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
btnmt2.setImageResource(R.drawable.happy);
btnmt2.setVisibility(View.VISIBLE);
btnmt2.setScaleType(ImageView.ScaleType.FIT_CENTER);
btnmt2.setPadding(5,5,5,5);
但可见图像按钮有一个背景(背景是一个阴影在xml中定义为几个形状)我想图像保持这个背景,当它被移动到不可见的一个,所以我试图在xml中添加这个无济于事,图像资源似乎失去了缩放,或其填充,延伸到背景的全部大小,所以我尝试将它添加到我的java文件中,这些工作围绕着已弃用的方法,像这样
if (android.os.Build.VERSION.SDK_INT < 16) {
btnmt2.setBackgroundResource(R.drawable.dropshadow);
} else {
btnmt2.setBackground(getResources().getDrawable(R.drawable.dropshadow));
}
这保持规模和填充但背景心不是添加的,任何人可以帮助我,不知道它的我的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="@android:color/transparent" />
<corners android:radius="5dp"/>
</shape>
</item>
<item android:right="18dp" android:left="18dp" android:top="10dp" android:bottom="4dp">
<shape
android:shape="rectangle">
<solid android:color="@android:color/darker_gray"/>
<corners android:radius="10dp"/>
</shape>
</item>
</layer-list>
0123对不起,我的初学者实现了你的代码,并坐在那里告诉我方法setBackgroundResourceAndKeepPadding从来没有使用过,我有麻烦声明它在哪里需要声明它的方法来将它应用到视图?谢谢 – martinseal1987 2014-09-22 21:35:52
他们是静态方法,可随时随地从应用程序中使用。假设它们是名为ViewHelper的类的一部分,那么您可以像访问其中的一个:ViewHelper.setBackgroundResourceAndKeepPadding(v,R.drawable.icon); – Guardanis 2014-09-23 14:15:12