2012-09-12 78 views
2

我有一些FrameLayout來顯示重疊的圖像。在這個FrameLayout下,我想爲某些點擊操作顯示一個標準按鈕。Android:在一個佈局中使用2個佈局

爲了讓我的工作更輕鬆,我想,我可以在FrameLayout下放置一個新的線性或相對佈局 - 當然,它們都在一個LinearLayout中。

但是這種方法不適合我。

什麼是最好的方式來顯示我的按鈕在整個FrameLayout下沒有把它放在佈局和管理他的位置programmaticaly?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="horizontal" > 
<FrameLayout 
    android:id="@+id/framelayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top|left" > 
    <ImageView 
     android:id="@+id/coverimg" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top|left" 
     android:maxHeight="100dp" 
     android:minHeight="130dp" 
     android:minWidth="130dp" 
     android:src="@drawable/cover_img" /> 
    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:layout_marginLeft="100dp" 
     android:src="@android:drawable/ic_media_play" /> 
<ProgressBar 
     android:id="@+id/progressBar1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center" 
     android:visibility="gone" /> 
</FrameLayout> 
<LinearLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 
<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:text="Button" /> 
</LinearLayout> 
</LinearLayout> 

回答

0

先說:你 第一的LinearLayout的方向是錯誤的。你應該使用垂直而不是水平,因爲它會顯示你的圖像的按鈕的權利,而不是下面。

第二: 沒有必要將按鈕包裝到另一個LinearLayout中,導致它是一個單反項目並附加到您的第一個LinearLayout。

第三: 上設置另一個 '地點',給你的頂部的LinearLayout等的ID按鈕 '機器人:ID = 「@ + ID/MYLINEAR」',然後使用以下代碼:

LinearLayout myLinear = (LinearLayout)this.findViewById(R.id.myLinear); 
LayoutParams lp = new LinearLayout.LayoutParams(Gravity.CENTER); 
myLinear.setLayoutParams(lp); 

也許這將工作到:

LinearLayout myLinear = (LinearLayout)this.findViewById(R.id.myLinear); 
myLinear.setLayoutParams(new LinearLayout.LayoutParams(Gravity.CENTER)); 

希望我能幫助你?

0

首先你改變線性佈局方向垂直,二是沒有必要使用另一個

佈局ü可以把按鈕直接

例如:機器人:方向=「垂直」

相關問題