使用哪种Android控件?

时间:2010-01-24 15:04:57

标签: android

我迈出了Android编程的第一步。

我的应用是在数据库中创建条目。为此,我创建了一个新的Activity。一切都很好 - 但我真的不喜欢它的样子。

目前,模拟器显示了这一点:
Current Layout http://i45.tinypic.com/jr8lc8.jpg

我希望有类似“新联系”活动的内容:

  • 窗口底部的按钮,而不是直接位于其他控件下方(我希望能够自己解决这个问题)
  • 屏幕截图中显示的漂亮“盒子”中的按钮(这里的按钮控件是什么?)
  • 当显示软键盘时,按钮应“向上移动”。如果没有足够的空间,整个区域应该是可滚动的(我也会尝试自己解决这个问题)

示例可以在这里看到:
alt text http://i46.tinypic.com/2va1dnb.png

哪个控件托管上面“新建联系人”屏幕截图中的按钮?我想对我的按钮使用相同的东西。

4 个答案:

答案 0 :(得分:4)

找出现有活动的作用的一种方法是使用hierarchyviewer并检查活动的内容。

了解原生Android活动的另一种方法是查看source codeIn this case,按钮位于水平LinearLayout内,style="@android:style/ButtonBar",以显示银色光泽。反过来,That style使用@android:drawable/bottom_bar作为其背景。该图片可以在SDK安装中找到 - 转到您选择的平台目录,然后是data/res/drawable-hdpidata/res/drawable-mdpi两个版本。

答案 1 :(得分:2)

联系人布局看起来像一个ListView,位于按钮的某种RelativeLayout或LinearLayout之上。银色背景可能只是在布局本身上使用android:background设置(布局是视图)。

我发现commonsware本书是入门的绝佳资源,并为这种类型的布局提供了很好的例子。

答案 2 :(得分:1)

嘿,这有点晚了,我知道你已经有了你想要的银条,这一切都很好,但我偶然发现a really good guide on controlling the soft keyboard for best user experience。除了其他方面,它还包括如何在键入时调整可见区域的大小以适应视图中的按钮栏,这可以通过在清单文件中指定活动来完成,如下所示:

<activity android:name=".MyActivity" android:windowSoftInputMode="resize" />

我真的建议阅读它,它涵盖了比这更有用的东西。希望有所帮助;我看不出有其他人回答了你问题的那一部分。

答案 3 :(得分:0)

您可以将它们放在LinearLayout中,并为每个按钮指定权重1。 此外,如果你拥有开发电话/或想在模拟器中看到应用程序的UI - 有一个非常酷的工具调用hierarchyviewer http://developer.android.com/guide/developing/tools/hierarchy-viewer.html 你可以看到你喜欢的app的UI是如何被放置的。