【问题标题】:Which Android control to use?使用哪个 Android 控件?
【发布时间】:2019-06-08 03:06:20
【问题描述】:

我正在迈出 Android 编程的第一步。

我的应用程序是在数据库中创建条目。对于这个任务,我创建了一个新的 Activity。一切都很好 - 但我真的不喜欢它的外观。

目前,模拟器显示如下:

我想要一些类似于“新联系人”活动的东西:

  • 窗口底部的按钮,而不是其他控件的正下方(希望我自己弄清楚)
  • 漂亮的“框”内的按钮,如屏幕截图所示(此处托管按钮的控件是什么?)
  • 显示软键盘时,按钮应“向上移动”。如果没有足够的空间,整个区域应该是可滚动的(我自己也会尝试解决的)

样品可以在这里看到:

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

【问题讨论】:

    标签: android


    【解决方案1】:

    了解现有活动的一种方法是使用hierarchyviewer 并检查活动的内容。

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

    【讨论】:

      【解决方案2】:

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

      我发现commonsware 书籍是很好的入门资源,并且为此类布局提供了很好的示例。

      【讨论】:

      • 我也在联系人源代码中找到了这个话题:stackoverflow.com/questions/560411/…
      • 谢谢,你是我的英雄。将 android:background 设置为“@android:drawable/bottom_bar”,我得到了我想要的。完美!
      【解决方案3】:

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

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

      我真的推荐阅读它,它涵盖的内容远不止这些。希望有帮助;我看不到其他人已经回答了您问题的特定部分。

      【讨论】:

      • +1 感谢您将我指向 IME 指南!虽然我已经弄清楚了如何在显示输入面板时调整可见区域的大小,但这篇文章似乎包含其他非常有价值的信息!
      【解决方案4】:

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

      【讨论】:

      • 嗨,也许我不够清楚 - 按钮基本上按照我想要的方式布置,但我不知道如何创建漂亮的银色按钮“容器”,如第二个屏幕截图所示。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多