我正在创建一个自定义titleBar,我在那里放了一些imageButtons,当你将ImageButton设置为默认值时,它只是灰色。为其分配值时,应将其视图完全更改为该图像。
我出于某种奇怪的原因正确地设置了图像,但保留了默认ImageButton所具有的灰色边框。这有什么原因吗?
以下是发生的事情的图片:
这是titleBar的我的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_activity_flash_card_display"
android:textColor="@color/bluenessText" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageButton
android:id="@+id/flashCard_show_amount_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="right" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:2)
您看到的灰色框实际上是背景。因此,当您设置ImageButton
drawable时,它会设置图像,而不是背景。您可以使用imageButton.setBackgroundDrawable(null);
(或API 16+上的imageButton.setBackground(null)
),或者将背景设置为您当前用于前景的任何可绘制内容。