如何在android中创建一个带滑动控件的按钮栏?

HTC感应手机上的脚印和时钟应用程序使用底部按钮栏上的滑块控件(请参阅此电影的示例:https://docs.google.com/leaf?id = 0B9hmEy_z2CRzOTJmYTVlNDktYjkwMS00YTM5LTk3ODQtYmIzODU4Yzk1YjA0& hl = en& authkey = CMWwwegG) 。 从层次结构查看器中我可以看到它们使用自定义控件。我正在寻找一种达到同样效果的方法。我想在我的应用程序底部有一个带有可移动选择器的按钮栏,我可以从左向右拖动,从而选择不同的选项卡。 任何人都可以提供一些如何实现这一目标的提示吗?我可以使用哪种布局控件来实现此目的?我知道如何创建标签和按钮栏,但我对滑动选择器有点困惑。 谢谢和亲切的问候, 伊沃     
已邀请:
要创建视图,您有两个主要选项。 一种是在XML中,在Activity将使用的布局文件中定义它。
<LinearLayout ... > <!-- or any other layout, see layout documentation in the SDK -->
  <ImageView ...    <!-- or another view as fits your needs -->
    android:id="@+id/myview"
    android:src="@drawable/myimage" ... />
</LinearLayout>
然后,在使用findViewById(R.id.myview)调用setContentView之后,可以在代码中引用您的视图。 (当然,如果您在XML文件中说“@ + foo / bar”,则使用R.foo.bar)。 另一种方法是动态创建它并将其附加到视图层次结构。
ImageView v = new ImageView();
v.setImageResource(R.drawable.myimage);
... // initialize your view here
parent.addChild(v);
...或者。 要获得活动,您可以再次选择几个选项。 其中之一是将View(或ImageView)子类化并实现onTouchEvent。您需要调整上面的代码来创建新类的实例而不是ImageView(在Java代码中显而易见,对于您要编写为标记名的XML,并确保实现采用的构造函数(Context,AttributeSet)调用它的超类'构造函数)。 或者,您可以编写TouchDelegate并在ImageView上使用setTouchDelegate,这在您的情况下可能更简单。 另一种方法是创建一个GestureDetector,并使用其hitTest方法将触摸与视图匹配。对于您所描述的任务来说,它是过度的,但是当您的应用程序变得更复杂时它可能会派上用场。     
我会扩展TabWidget类来做我自己的渲染。您可以使用其他标签系统和统一界面进行热插拔,同时仍然可以按照您想要的方式绘制标签栏。 你将在setCurrentTab中开始你的动画。     

要回复问题请先登录注册