按钮不可见但已启用

时间:2013-12-09 22:44:09

标签: android eclipse

我在photoshop中设计了我的整个活动页面并在eclipse中打开它。我想在我的假图像按钮上放置按钮。它没有任何问题吗?我使用下面的代码使按钮不可见,但它也禁用了按钮。我该如何解决这个问题?

  android:visibility="invisible"

3 个答案:

答案 0 :(得分:2)

你不应该这样做(在你想要点击的视图上有假的ImageButton),因为这样做可能会发生很多错误。假设您尝试将此按钮放在整个ImageView,整个布局或至少整个视图上,则应考虑向此视图添加单击侦听器。尝试查找有关如何使用View.setOnClickListener(View.OnClickListener)方法的详细信息。用它调试你会有更少的错误。

但如果您仍想这样做,请尝试使用android:alpha属性:

android:alpha="0"

它会使按钮变得不可见,但仍然存在且仍处于活动状态

android:alpha属性允许您指定颜色的不透明度值。

答案 1 :(得分:1)

老实说,除非您正在测试某些内容或进行原型设计,否则不应该这样做。相反,你应该在photoshop中剪切你的设计并导出按钮的图像。

在具有不同屏幕尺寸的不同设备上运行时,您的approch很可能会导致按钮在图像上方错误定位。

执行此操作的正确方法是使用ImageButton视图并将StateListDrawable设置为源图像。

您可以在此处详细了解州名单: http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

很容易用XML声明它,并为各种按钮状态(按下,禁用,聚焦,......)设置不同的图像。

总结一下。我会做以下事情:

  1. 在您准备的所有不同状态下导出我的按钮的图像(我发现中性并按绝对最小值)。
  2. 在项目中将它们作为drawable导入(确保为要支持的每个屏幕密度生成不同的版本)。
  3. 按照here所述创建状态列表可绘制XML资源。
  4. 将步骤3中创建的资源设置为android:srcImageButton)的setImageResource(int)属性。

答案 2 :(得分:0)

尝试使用android:background="@null"按钮。这将使默认的灰色背景消失,使您的按钮不可见,但仍然允许您添加文本等。

话虽如此:我不会在这里推荐一个按钮。我希望Pauls能够回答您的具体情况。