如何使用图像按钮创建此UI?

时间:2011-08-10 15:30:30

标签: android imagebutton

我想像这样创建我的主UI: http://lh3.ggpht.com/RYB2ckycDc_4rb2bmsDzqLLmYcj37xDOA7d7sR6XIVfwRb3a44_HqMqfb1vdmtxTEidenVY4C9RcTREl

是否可以使用ImageButton进行此操作?图像必须具有相同的分辨率? 非常感谢你。

XML文件,一行图像按钮:

<?xml version="1.0" encoding="UTF-8"?>

<RelativeLayout android:id="@+id/acceuil"
   android:layout_width="fill_parent" android:layout_height="fill_parent"
   android:orientation="vertical"
   xmlns:android="http://schemas.android.com/apk/res/android">


<ImageButton

    android:id="@+id/consom" 

    android:layout_alignParentLeft="true"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/consom_icon">
</ImageButton>
<ImageButton

    android:id="@+id/param" 

    android:layout_alignParentRight="true"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
     android:src="@drawable/consom_icon" >
 </ImageButton>

 </RelativeLayout>

这是我所拥有的: http://imageshack.us/f/856/imagebutton.png/

3 个答案:

答案 0 :(得分:3)

使用GridView,您可以使用res /文件夹中hdpi,mdpi和ldpi中的图标集填充它。填充列表时,请确保提供图标和ID,以便确定单击了哪个按钮以启动按钮应完成的活动/意图。

Android在我所说的要点上有一个很好的例子。 http://developer.android.com/resources/tutorials/views/hello-gridview.html

如何使用switch语句处理点击的示例:

    GridView gridView = (GridView) findViewById(R.id.gridview);
    gridView.setAdapter(new MyGridViewAdapter(this));
    gridView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            switch (v.getId()) {
            case R.drawable.my_button:
                startActivity(new Intent("com.awesome.Activity"));
            }
        }
    });

答案 1 :(得分:1)

您可以使用TableLayout中的ImageButtons来执行这样的“仪表板”类型的UI,但我认为如果您希望图像的一部分看起来超出按钮的边缘,则会出现问题。您可能更好地使用具有按钮类型图像的ImageViews,其上有另一个图像。

查看android UI设计模式,讨论类似Twitter的应用程序设计。

修改 尝试类似下面的TableLayout

<TableLayout>
 <TableRow>
  <ImageButton />
  <ImageButton />
 </TableRow>
 <TableRow>
  <ImageButton />
  <ImageButton />
 </TableRow> 
</TableLayout>

答案 2 :(得分:1)

你试试这样吗,

&LT; RelativeLayout android:id =“@ + id / acceuil”

机器人:layout_width = “FILL_PARENT”    机器人:layout_height = “FILL_PARENT”    的机器人:取向= “垂直”    的xmlns:机器人= “http://schemas.android.com/apk/res/android” &GT;

&LT; LinearLayout ....... android:orientation =“horizo​​ntal ...........&gt;

&LT;的ImageButton

android:id="@+id/consom" 
android:layout_alignParentLeft="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/consom_icon">

&LT; /&的ImageButton GT;

&LT;的ImageButton

android:id="@+id/param" 
android:layout_alignParentRight="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
 android:src="@drawable/consom_icon" >

&LT; /&的ImageButton GT;

&LT; /&的LinearLayout GT;

&LT;评论!---第二行imageButtons&gt;

&LT; LinearLayout ....... android:orientation =“horizo​​ntal ...........&gt;

&LT;的ImageButton

android:id="@+id/consom" 
android:layout_alignParentLeft="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/consom_icon">

&LT; /&的ImageButton GT;

&LT;的ImageButton

android:id="@+id/param" 
android:layout_alignParentRight="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
 android:src="@drawable/consom_icon" >

&LT; /&的ImageButton GT;

&LT; /&的LinearLayout GT;

&LT;评论!---线性/相对布局,根据需要提供更多行...&gt;

&LT; / RelativeLayout的&GT;