我正在使用Android应用程序,该应用程序有一些(下一步,后退,等等)Buttons
这些都是圆形且透明的,我使用ImageButton
来表示那些Buttons
Button
1}},但问题是background
周围总是有一个白色边框(我使用黑色ImageButton
所以它非常难看)并且按钮永远不会显示为圆形显示为某种类型方形的形状。
这是我到目前为止所尝试的内容:
将activity_mypage.xml
文件中android:background="@android:color/transparent"
的背景设置为
android:background="?android:selectableItemBackground"
和
android:background="?android:selectableItemBackgroundBorderless"
和
android:background="@null"
甚至
myBtn.setBackgroundResource(0);
但似乎没有什么能在.xml方面起作用。
我在MyPage.java文件上尝试了以下内容:
myBtn.setBackground(null);
以及
Button
我做的任何事情似乎都没有结果相同(尽管它从Button
周围移除了灰色边框,但没有一个使Button
完全透明)
这是应用任何这些属性后相同xml
的屏幕截图(如果我仅将其应用于Buttons
或仅应用于java文件,或者仅适用于因为所有结果都是一样的):
这是我在xml中的<ImageButton
android:id="@+id/my_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="26dp"
android:layout_marginEnd="37dp"
android:layout_marginRight="37dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:srcCompat="@mipmap/my_btn"
tools:layout_constraintBottom_creator="1"
tools:layout_constraintRight_creator="1"
android:background="@android:color/transparent"
/>
之一的xml代码:
ImageButton myBtn= (ImageButton) findViewById(R.id.my_btn);
myBtn.setBackground(null);
myBtn.setBackgroundResource(0);
以下是.java文件中的代码:
$('body').on('click','a.btn_details',function(e){
e.preventDefault();
var _id = $(this).attr('id');
var _data = {'action': 'product_details','product_id':_id};
$.ajax({
method: 'POST',
url: '../common/products.php',
dataType: 'json',
data: _data,
success: function (resp) {
alert(resp.name);
return false;
},
error: function(resp){
alert("xd,vj,dfjbj");
}
});
$('#prd_list_cont').hide();
$('#prd_det_cont').show();
}
);
我真的迷失了,我发现这个查询的每一个结果都提出了上述方法之一,但这些方法似乎都不适合我..
答案 0 :(得分:0)
只需更改
android:background="@android:color/transparent"
到
android:background="@null"
答案 1 :(得分:0)
试试这个
android:src="@mipmap/yourimage"
而不是
app:srcCompat="@mipmap/my_btn"
答案 2 :(得分:0)
您可以使用ImageView
代替ImageButton
,因此不会出现背景问题
<ImageView
android:id="@+id/my_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="26dp"
android:layout_marginEnd="37dp"
android:layout_marginRight="37dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:src="@mipmap/my_btn"
/>
答案 3 :(得分:0)
将此添加到按钮
android:background="@drawable/template"
并在drawable文件夹中创建一个文件名 并将此代码添加到其中
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/btn2imagePressed"></item>
<item android:drawable="@drawable/btn1imageNotPressed"></item> </selector>
答案 4 :(得分:0)
因此,在阅读了一些已发布的答案并使用我的代码中的建议后,我注意到icon
被错误地加载到我的mipmap
目录而不是drawables
中,这是因为当我导入icons
时,我选择了New
->
Image Asset
而不是Vector Asset
,这导致了我的图标&#39;失去透明度......
感谢大家的回复和答案。