2014-11-25 78 views
0

我試圖用自定義佈局創建一個PopupWindow。這是我的佈局文件:使用WRAP_CONTENT,popupwindow獲取洞的屏幕寬度

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="48dp" > 

    <ImageView 
     android:id="@+id/switch_iamge" 
     android:layout_width="32dp" 
     android:layout_height="32dp" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="4dp" 
     android:src="@drawable/switch_icon" /> 

    <TextView 
     android:id="@+id/old_info" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toLeftOf="@+id/switch_iamge" /> 

</RelativeLayout> 

在這裏,我創建PopupWindow

PopupWindow popupWindow = new PopupWindow(view, 
     LayoutParams.WRAP_CONTENT, 48); 

但是它得到孔屏幕寬度。我也檢查了thisthis,但他們沒有幫助。我該怎麼辦?

編輯:看來,問題出在ImageView。在圖像中也使用wrap_content不起作用。所以我刪除了ImageView並在TextView中使用drawableRight屬性,它起作用。

+0

我認爲它會因爲顯示您在圖像的ImageView。 – Piyush 2014-11-25 09:01:31

+0

嘗試修復TextView寬度並檢查。 – 2014-11-25 09:04:36

+0

@PiyushGupta那麼問題是什麼?圖像只需要32 * 32平方米的空間。 – 2014-11-25 09:45:53

回答

0

您必須以編程方式創建彈出窗口。您無法在XML文件中更改它。我面臨同樣的問題。把match_parent放在你的xml裏,而不是wrap_content。做這樣的事情:

PopupWindow popupWindow = new PopupWindow(view,120,220); 

希望它幫助:)

+0

正如我所說的,我不想讓彈出窗口具有固定的寬度。 – 2014-11-25 10:15:41