【问题标题】:How do I create custom GUI controls in Eclipse for use in Android app layouts?如何在 Eclipse 中创建自定义 GUI 控件以用于 Android 应用程序布局?
【发布时间】:2012-08-08 19:55:50
【问题描述】:

好的,标题说明了。

我希望能够创建自己的控件,例如按钮、文本视图、编辑文本框、微调器等。我可以在 CS5 中创建图像,但如何将这些图像转换为功能性 GUI 组件?谢谢

【问题讨论】:

  • 因此,当我在布局中添加“TextView”控件时,我会在 xml 文件中得到:<TextView android:id="@+id/TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="right" android:paddingRight="5dp" android:text="@string/bTotal" android:textColor="#000" > </TextView>。 “TextView”文件驻留在哪里,它的图像文件存储在哪里?似乎我应该能够复制这些文件,更改图像文件,对 xml 文件进行一些简短的编辑并拥有我的新自定义控件。我离开这里了吗?谢谢!

标签: java android xml eclipse user-interface


【解决方案1】:

您的意思是要创建这些控件的自定义外观版本,对吧?

您可以为您制作的任何自定义按钮制作一个 ImageButton 组件,并使用属性 android:src,例如

android:src="@drawable/your_image"

对于 EditText,您也可以使用属性 android:background。

编辑: android 控件不会作为标准图像文件存储在任何可访问的地方。您提到的标准设计是元素的默认外观。

要更改它,您必须自己创建背景并将其作为 .png 文件存储在项目的可绘制文件夹中。确保仅以小写字母命名此文件,并且没有空格等特殊字符。将此文件复制到所有可绘制文件夹中(drawable-hdpi、ldpi 等)。

那么你必须在你的盒子里引用这个文件

<EditText
    android:background="@drawable/your_edit_text_graphic_file_name"
    android:text="@string/sample_text"
    android:layout_width="match_parent"
    -- all other attribute declarations --
</EditText>

同样,对于其他元素,您必须使用 android:src,就像前面提到的那样来引用您自己的图形!

希望这会有所帮助!

【讨论】:

  • 卡兰是的!感谢您的澄清。我想在 Eclipse 中使用控件,但为它们创建自己的图像。如果每个应用程序都有标准的内置文本框或滑块,那么我们的应用程序很快就会变得乏味。
  • 所以我现在的问题是......文件保存在哪里或者我如何将我的自定义控件添加到 Eclipse 的调色板中。抱歉,如果这似乎是一个愚蠢的问题,我刚刚进入 Java 和 Android。我编码的最后一件事是 1993 年用于机器控制的 PLC。哦,事情是如何变化的。感谢您的帮助!
  • 好的,我将编辑我的答案以提供这些详细信息。是的,我明白了:D
  • 8 个月后,我仍然无法回答您的问题。我不知道你在说什么。现在,想都没想,一天14个多小时。 :) 再次感谢!
【解决方案2】:

您只需创建您的 CustomView 扩展 ViewTextView.... 并实现事件句柄。 Android 开发人员对此进行了培训 Custom Components 。完成后,您可以在 GraphicLayout 中找到您的自定义视图 => 在 Eclipse 中的 CustomView 并像普通组件一样添加。

图像只是提供漂亮的外观而不是事件句柄,因此您不能只将图像制作为组件

【讨论】:

  • 谢谢尤尔!这似乎是我所追求的。
【解决方案3】:

您不必使用CSS,如果是android,您必须使用XML 文件进行UI 设计。您可以在XML 中静态或动态创建UI(即以编程方式)。您可以通过以下方式在android中创建按钮。

    <Button
     android:id="@+id/buttonStart"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:text="Your btn Name"/>

您可以通过获取按钮的 id 并使用它来访问您的 java 文件中的此按钮。

希望这会有所帮助。 更多信息请阅读这篇文章http://developer.android.com/reference/android/widget/Button.html

【讨论】:

  • 8 个月后,我仍然无法回答您的问题。当你发布它时,虽然我不知道你在说什么。现在,想都没想,一天14个多小时。 :) 再次感谢!
猜你喜欢
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 2017-06-12
相关资源
最近更新 更多