簡體   English   中英

Android視圖類-繪制按鈕上的視圖-背景還是前景?

[英]Android view class - drawing View over button - background vs foreground?

我在ImageButton上繪制了一個ImageView(一個50%透明的圖標),但是當我單擊ImageButton時,該圖標消失了(此時將觸發一個Activity過渡)。 看起來很糟糕...

在不將圖標實際放入ImageButton的src文件中的情況下,執行此操作的最佳方法是什么? 有辦法將可繪制對象設置為背景或前景嗎? 那兩個屬性到底是做什么用的? 我找不到有關android:foreground的任何文檔...

順便說一句:我正在使用新的Lollipop共享元素過渡並在關系9上進行測試。

<Relative Layout...>
<ImageButton
    android:id="@+id/imageView1"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:layout_width="400dp"
    android:layout_height="250dp"
    android:src="@drawable/call1"
    android:foreground="@drawable/phone" <!-- Does this make any sense?-->
    android:transitionName="@string/trans_call_pic"
    android:onClick="clickCall"
    />

<ImageView
    android:id="@+id/imageButton1"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:src="@drawable/phone"
    android:layout_alignBottom="@id/imageView1"
    android:alpha="0.5"
    android:layout_marginLeft="14dp"
    />
</RelativeLayout

android:foreground屬性用於前景選擇器(添加到FrameLayout中)。 這並不是要簡單地繪制圖像。

一種解決方案是將按鈕和圖像包裝在容器視圖中,並將轉換內容放在容器上。 這樣,兩個子視圖將被視為一個。

嘗試將前景選擇器添加到視圖中。 您可以調用super.onDraw() 之后擴展ImageButton ,重寫onDraw()並繪制前景選擇器。 這將確保將前景選擇器繪制在整個ImageButton頂部。 可以在此處找到更詳細的說明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM