我是設計師,而不是程序員,所以我會使用圖形來說明問題。 我有2個活動,我想作爲一個。當用戶點擊每個按鈕時,一個新的活動正在活動(通常會打開一個新窗口)。我想要在一個屏幕上顯示所有信息(文本,圖像),並將向下滾動,就像在此動畫中一樣。活動中的活動動畫
點擊之前
點擊
我是設計師,而不是程序員,所以我會使用圖形來說明問題。 我有2個活動,我想作爲一個。當用戶點擊每個按鈕時,一個新的活動正在活動(通常會打開一個新窗口)。我想要在一個屏幕上顯示所有信息(文本,圖像),並將向下滾動,就像在此動畫中一樣。活動中的活動動畫
點擊之前
點擊
假設LinearLayout
看起來像
<LinearLayout>
<TextView/> <!-- Title, e.g. "Heating Program" -->
<TextView/> <!-- Details, e.g. "Standby mode" -->
<TextView/> <!-- Title -->
<TextView/> <!-- Details -->
<!-- etc -->
</LinearLayout>
如果您設置android:animateLayoutChanges="true"
後LinearLayout,然後從OnClickListener
(每個標題隱藏/顯示其詳細信息)設置detailsView.setVisibility(View.VISIBLE)
或detailsView.setVisibility(View.GONE)
,您將獲得有關該效果的信息。但這並不完美。
注意:需要蜂巢或以上。動畫可以通過setLayoutTransition(LayoutTransition transition)
定製我會做一個自定義Layout
類具有所有Views
在它(主要的「加熱程序」的看法,箭頭的ImageView和詳細信息視圖),並給予類是知識「擴大」或沒有。然後當點擊主視圖/箭頭視圖時,切換展開的內容,更改箭頭圖像並設置詳細信息視圖的可見性(如@zapl所示)。
您正在尋找ExpandableListView。這正是你想要的。包含可擴展項目的可滾動列表。