幾款股票應用使用這種「頁面點」來引導用戶。當我實現2D拾取器時,我發現頁面點不是它的一部分。我試圖使用圖像來模擬效果,但當用戶在頁面之間滑動時,我的ImageView
隨頁面一起移動。如何爲Android Wear中的2D拾取器添加頁面點?
如何實現這種「頁面點」,當用戶滑動時不會移動?此外,我可以控制這些點是否會出現並消失?
幾款股票應用使用這種「頁面點」來引導用戶。當我實現2D拾取器時,我發現頁面點不是它的一部分。我試圖使用圖像來模擬效果,但當用戶在頁面之間滑動時,我的ImageView
隨頁面一起移動。如何爲Android Wear中的2D拾取器添加頁面點?
如何實現這種「頁面點」,當用戶滑動時不會移動?此外,我可以控制這些點是否會出現並消失?
您現在可以(如1.1版)使用DotsPageIndicator類,像這樣:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.wearable.view.GridViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true" />
<android.support.wearable.view.DotsPageIndicator
android:id="@+id/indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"/>
</FrameLayout>
然後在您的活動類:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_gridview);
final GridViewPager pager = (GridViewPager) findViewById(R.id.pager);
DotsPageIndicator dots = (DotsPageIndicator) findViewById(R.id.indicator);
dots.setPager(pager);
}
爲了使點不與頁面移動,把它們放在活動的佈局,而不是單獨的頁面片段。例如:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.wearable.view.GridViewPager
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:id="@+id/page_dots_container"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true" />
</RelativeLayout>
根據您的具體應用,您可以填寫XML的page_dots_container佈局或用小圓點ImageViews編程填充它。然後在GridViewPager上設置一個OnPageChangeListener - 當所選頁面改變時,更新點ImageViews以反映選擇哪個頁面。
有關完整示例,請參閱JumpingJack Wear示例(位於sdk/samples/android-20/wearable/JumpingJack下)。
非常感謝您的回答,和你鏈接到示例項目。 – user1032613 2014-10-17 23:21:12
簡單而正常的作品!這應該是被接受的答案。 – 2015-08-19 20:06:55
@ChadSchultz完成:) – user1032613 2016-07-16 14:41:14
@cwlq,如何在Android Wear 2.0中實現相同? – kavie 2017-12-12 03:36:17