2012-03-06 66 views
3

我有兩個佈局在同一個xml文件(頂部佈局和底部底部佈局)。我希望用戶能夠抓住邊緣來分離它們,並能夠相應地上下移動佈局。有點像推拉門,但它從中間開始,可以去頂部或底部觸摸釋放 How do you say我可以做到這一點嗎?我可以在佈局的邊緣實現觸摸式偵聽器嗎?還是有更好的方法? 謝謝如何動態地移動分隔符/在2個佈局之間分割?

回答

4

我會這樣做的方式是在兩個佈局之間有一個視圖。佈局將作爲一例:

<LinearLayout> 
     <LinearLayout android:layout_width="fill_parent" 
      android:layout_height="0dip" 
      android:layout_weight="0.5"/> 
     <View android:id="@+id/layout_draggable" 
      android:layout_height="10dip" 
      android:layout_width="fill_parent" /> 
     <LinearLayout android:layout_width="fill_parent" 
      android:layout_height="0dip" 
      android:layout_weight="0.5"/> 
</LinearLayout> 

你將不得不在中間查看,這將改變兩個佈局加權觸摸監聽器。浮點數必須加起來爲1,這樣做會使可拖動的視圖也移動。

+0

Ohthis是一個非常好的建議謝謝。我的問題是,當somone觸摸視圖時,我的觸摸列表器會將可拖動的視圖移動到觸摸無誤的位置?如果是這種情況,我怎樣才能相應地調整權重。或者他們會根據我放置視圖的位置自動進行調整?謝謝 – Snake 2012-03-06 16:24:58

+0

您需要根據自制算法自行調整權重。我將使用onTouchEvent偵聽器並獲取用戶拖動的數量,確定父LinearLayout的高度並從中創建一個0.0-1.0的值。 – Knossos 2012-03-06 18:12:31

+0

哦,好的,我明白了。好想法。我接受爲答案:) – Snake 2012-03-06 20:57:20