Android 如何使用imagebuttons创建此UI?

Android 如何使用imagebuttons创建此UI?,android,imagebutton,Android,Imagebutton,我想创建如下主UI: 用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

我想创建如下主UI:

用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>

以下是我所拥有的:

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

Android在我所说的要点上有一个很好的例子

有关如何使用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"));
            }
        }
    });
GridView GridView=(GridView)findviewbyd(R.id.GridView);
setAdapter(新的MyGridViewAdapter(this));
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
开关(v.getId()){
案例R.drawable.my_按钮:
startActivity(新意图(“com.awesome.Activity”);
}
}
});

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

Android在我所说的要点上有一个很好的例子

有关如何使用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"));
            }
        }
    });
GridView GridView=(GridView)findviewbyd(R.id.GridView);
setAdapter(新的MyGridViewAdapter(this));
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
开关(v.getId()){
案例R.drawable.my_按钮:
startActivity(新意图(“com.awesome.Activity”);
}
}
});

您可以在TableLayout中使用ImageButtons来创建这样一个“仪表板”类型的UI,但我认为如果您希望图像的一部分显示在按钮的边缘上,则会出现问题。您最好使用ImageView,它有一个按钮类型的图像,上面有另一个图像

查看android用户界面设计模式,他们在其中讨论类似twitter的应用程序设计

编辑: 试试下面的TableLayout

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

您可以在TableLayout中使用ImageButtons来创建这样一个“仪表板”类型的UI,但我认为如果您希望图像的一部分显示在按钮的边缘上,则会出现问题。您最好使用ImageView,它有一个按钮类型的图像,上面有另一个图像

查看android用户界面设计模式,他们在其中讨论类似twitter的应用程序设计

编辑: 试试下面的TableLayout

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

让你像这样尝试

android:layout\u width=“fill\u parent” android:layout\u height=“fill\u parent” android:orientation=“vertical” xmlns:android=”http://schemas.android.com/apk/res/android“>

android:orientation=“horizontal

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

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

<注释!--第二行图像按钮>

android:orientation=“horizontal…>

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

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

<评论!--根据需要为更多行提供线性/相对布局…>

让你像这样尝试

android:layout\u width=“fill\u parent” android:layout\u height=“fill\u parent” android:orientation=“vertical” xmlns:android=”http://schemas.android.com/apk/res/android“>

android:orientation=“horizontal

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

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

<注释!--第二行图像按钮>

android:orientation=“horizontal…>

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

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

<评论!--根据需要为更多行提供线性/相对布局…>


我不明白为什么不可能。到目前为止你尝试了什么,你在哪里被阻止了?我不明白为什么不可能。到目前为止,您尝试了什么,哪里会被阻止?我尝试使用GridView,但在点击图像时不知道如何进行处理(启动活动)。此示例演示如何仅创建GridView,而不是如何对其进行某些处理。这是我创建的一个主题。这是一个不同的问题。该示例向您确切地展示了如何检测单击了哪个项目(单击项目时会发出祝酒声)。我已经更新了我的帖子,并提供了一个您正在寻找的示例?startActivity(新意图(化油器类))???因为我犯了个错误怎么了?您是否在清单中声明了要启动的活动?尝试使用新的意图(“com.package.anotherpackage.MyActivity”)启动您的活动我尝试使用GridView,但在点击图像时不知道如何进行处理(启动活动)。此示例演示如何仅创建GridView,而不是如何对其进行某些处理。这是我创建的一个主题。这是一个不同的问题。这个例子向您展示了如何