2012-08-02 69 views
0

我想创建一个类似于脉冲android应用程序的自定义用户界面。据我所知,首先我必须先创建一个自定义按钮,如下图所示。如何在Android中创建自定义用户界面像脉冲

enter image description here

我的按钮上有图片和文字重叠。我知道这是一个基本的问题,但我面临这个问题,因为我是一个初学者的Android开发。请帮助我理解如何去做这件事。

+0

让我得到这个直。你在问如何制作一个顶部有文字的按钮? – Warpzit 2012-08-02 11:23:46

+0

@Warpzit。是的,那正是我正在寻找的。 – 2012-08-02 11:37:03

回答

1

如果回答您的问题,请接受答案。

现在讲述与网格集成的部分:将上述示例(RelativeLayout + ImageView + TextView)的XML内容保存到一个新的XML文件中,让它成为layout/grid_item.xml
ImageViewTextView

产品添加了独特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 
} 
+0

谢谢@Andy Res。 – 2012-08-02 13:39:06

3

你可以从一个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并编写自定义用户界面组件,如果需要的话,这将涉及更多的编码,但您将拥有一个独特的组件。

+0

我感谢您的帮助。它完全按预期工作。现在,如果我必须使用网格视图来实现,我该怎么做。我得到了下面的链接,但它是用于简单的图像。我如何让这个自定义视图做到这一点? http://developer.android.com/guide/topics/ui/layout/gridview.html – 2012-08-02 12:31:04

相关问题