Как сделать этот интерфейс с кнопками изображений? - PullRequest
0 голосов
/ 10 августа 2011

Я хочу создать свой основной интерфейс, например: 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 ]

3 голосов
/ 10 августа 2011

Используя GridView, вы можете заполнить его набором иконок, которые у вас есть в hdpi, mdpi и ldpi в вашей папке res /.Когда вы заполняете список, убедитесь, что вы указали значки и идентификатор, чтобы вы могли определить, какая кнопка была нажата, чтобы начать действие / намерение, которое эта кнопка должна завершить.о чем я говорю.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 голос
/ 10 августа 2011

Попробуйте, как это,

android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: ориентация = "вертикаль" xmlns: android = "http://schemas.android.com/apk/res/android">

android: ориентация =" горизонталь ...........>

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

<комментарий! --- для кнопок второго ряда imageButtons>

android: ориентация = "горизонтальный ...........>

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

1 голос
/ 10 августа 2011

Вы могли бы создать пользовательский интерфейс типа «приборная панель», подобный этому, используя ImageButtons в TableLayout, но я думаю, что у вас будут проблемы, если вы хотите, чтобы часть изображения отображалась над краем кнопки.Возможно, вам лучше использовать ImageViews, в которых изображение типа кнопки с другим изображением поверх него.

Ознакомьтесь с шаблонами дизайна пользовательского интерфейса Android, где обсуждается дизайн приложения в стиле twitter.

Редактировать: Попробуйте что-то вроде следующего TableLayout

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