gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 04:49:30 26 4
gpt4 key购买 nike

HTC sense 手机上的足迹和时钟应用程序使用底部按钮栏上的 slider 控件(有关示例,请参见这部电影:https://docs.google.com/leaf?id=0B9hmEy_z2CRzOTJmYTVlNDktYjkwMS00YTM5LTk3ODQtYmIzODU4Yzk1YjA0&hl=en&authkey=CMWwwegG)。

从层次结构查看器中,我可以看到他们为此使用了自定义控件。我正在寻找一种方法来达到同样的效果。我想要在我的应用程序底部有一个带有可移动选择器的按钮栏,我可以从左向右和向后拖动它,从而选择不同的选项卡。

任何人都可以提供一些关于如何实现这一目标的提示吗?为此,我可以使用哪些布局控件?我知道如何创建选项卡和按钮栏,但我对滑动选择器有点困惑。

谢谢和亲切的问候,伊沃

最佳答案

要创建 View ,您有两个主要选项。

一种是在 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>

然后您可以在您的代码中引用您的 View ,您使用 findViewById(R.id.myview) 调用 setContentView 之后。 (当然,如果您在 XML 文件中说“@+foo/bar”,您将使用 R.foo.bar)。

另一种方法是动态创建它并将其附加到 View 层次结构。

ImageView v = new ImageView();
v.setImageResource(R.drawable.myimage);
... // initialize your view here
parent.addChild(v);

...大概如此。

要获取事件,您有多种选择。其中之一是继承 View(或 ImageView)并实现 onTouchEvent。您需要调整上面的代码以创建新类的实例而不是 ImageView(在 Java 代码中很明显,对于 XML,您将编写为标记名称并确保实现采用 (Context, AttributeSet) 的构造函数调用其父类(super class)的构造函数)。或者,您可以编写一个 TouchDelegate 并在您的 ImageView 上使用 setTouchDelegate,这在您的情况下可能更简单。

另一种方法是创建一个 GestureDetector 并使用其 hitTest 方法将触摸与您的 View 相匹配。对于您描述的任务来说,它有点矫枉过正,但当您的应用程序变得更加复杂时,它可能会派上用场。

关于android - 如何在android中创建带有滑动控件的按钮栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com