我想创建一个类似于脉冲android应用程序的自定义用户界面。据我所知,首先我必须先创建一个自定义按钮,如下图所示。如何在Android中创建自定义用户界面像脉冲
我的按钮上有图片和文字重叠。我知道这是一个基本的问题,但我面临这个问题,因为我是一个初学者的Android开发。请帮助我理解如何去做这件事。
我想创建一个类似于脉冲android应用程序的自定义用户界面。据我所知,首先我必须先创建一个自定义按钮,如下图所示。如何在Android中创建自定义用户界面像脉冲
我的按钮上有图片和文字重叠。我知道这是一个基本的问题,但我面临这个问题,因为我是一个初学者的Android开发。请帮助我理解如何去做这件事。
如果回答您的问题,请接受答案。
现在讲述与网格集成的部分:将上述示例(RelativeLayout + ImageView + TextView)的XML内容保存到一个新的XML文件中,让它成为layout/grid_item.xml
。
为ImageView
和TextView
产品添加了独特id
然后在你的适配器的getView()
方法是充气的布局和找到的id的ImageView和TextView的,并设置适当的内容。
注意,这不是完整的源代码,但一个基本scheleton应该是这样的:
public View getView(int position, View convertView, ViewGroup parent) {
....
convertView = mInflater.inflate(R.layout.grid_item, null);
....
ImageView myImage=(ImageView)convertView.findViewById(R.id.my_image);
TextView myTextView=(TextView)convertView.findViewById(R.id.my_textview);
myImage.setImageResource(...);
myTextView.setText(...);
...
return convertView
}
谢谢@Andy Res。 – 2012-08-02 13:39:06
你可以从一个ImageView
和一个TextView
组成一个简单的布局,底部有黑色文本和一些透明度。这两个视图都应放置在RelativeLayout.
之内然后,您为RelativeLayout
设置点击侦听器,并对点击采取适当的操作。
例:
<RelativeLayout
android:id="@+id/item"
android:layout_width="150dp"
android:layout_height="150dp" >
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/my_test_image" />
<TextView
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="#4000"
android:text="Giorgio Armany Galaxy S"
android:textColor="#FFF" />
</RelativeLayout>
然后在你的程序:
RelativeLayout item=(RelativeLayout)findViewById(R.id.item);
item.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// take action
}
});
这是一个场景。另一种情况是扩展Button
并编写自定义用户界面组件,如果需要的话,这将涉及更多的编码,但您将拥有一个独特的组件。
我感谢您的帮助。它完全按预期工作。现在,如果我必须使用网格视图来实现,我该怎么做。我得到了下面的链接,但它是用于简单的图像。我如何让这个自定义视图做到这一点? http://developer.android.com/guide/topics/ui/layout/gridview.html – 2012-08-02 12:31:04
让我得到这个直。你在问如何制作一个顶部有文字的按钮? – Warpzit 2012-08-02 11:23:46
@Warpzit。是的,那正是我正在寻找的。 – 2012-08-02 11:37:03