Как оформить кнопки? - PullRequest
4 голосов
/ 26 августа 2011

Кто-нибудь знает, есть ли возможный способ конструировать кнопки Android, как это:

Like this.

Ответы [ 5 ]

4 голосов
/ 26 августа 2011

Я бы сказал, что это обычные кнопки с прозрачным фоном и значками, установленными через атрибут drawableTop . Таким образом, XML для такой кнопки будет выглядеть так:

<Button android:drawableTop="@drawable/icon" android:background="@android:color/transparent"/>
3 голосов
/ 26 августа 2011

Попробуйте это

  <Button android:drawableTop="@drawable/icon" android:background="@android:color/transparent"/>

Также вы можете создать этот тип нижней панели, используя Tab в Android

Нажмите здесь

Также вы можете создать этот тип кнопки с помощью переключателя

Нажмите здесь

0 голосов
/ 26 августа 2011

Я сделал то же самое в одном из моих приложений.Здесь я даю код xml для этого

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="60dp"
   android:background="#000"
   android:gravity="center_vertical">

   <LinearLayout
android:layout_width="60dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/reviewLayout"
android:gravity="center_horizontal"
>
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/reviews"
    />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Review"
    android:textColor="#FFF"/>
 </LinearLayout>

 <LinearLayout
android:layout_width="60dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/nearbyLayout"
android:layout_toRightOf="@id/reviewLayout"
android:gravity="center_horizontal">
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:src="@drawable/nearby"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Nearby"
    android:textColor="#FFF"/>
 </LinearLayout>

 <LinearLayout
android:layout_width="60dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/searchLayout"
android:layout_toRightOf="@id/nearbyLayout"
android:gravity="center_horizontal">
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:src="@drawable/search"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Search"
    android:textColor="#FFF"/>
  </LinearLayout>

  <LinearLayout
android:layout_width="75dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/bookmarkLayout"
android:layout_toRightOf="@id/searchLayout"
android:gravity="center_horizontal">
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:src="@drawable/bookmarks"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Bookmarks"
    android:textColor="#FFF"/>
  </LinearLayout>

  <LinearLayout
android:layout_width="60dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/settingsLayout"
android:layout_toRightOf="@id/bookmarkLayout"
android:gravity="center_horizontal">
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:src="@drawable/settings"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Settings"
    android:textColor="#FFF"/>
  </LinearLayout>

</RelativeLayout>

Используйте этот макет там, где вы хотите использовать тег включения, и вызывайте его в своей деятельности.Здесь я даю код для включения этого в Activity.

private LinearLayout reviewLay,nearbyLay, searchLay, bookmarkLay, settingLay;
reviewLay = (LinearLayout)findViewById(R.id.reviewLayout);
nearbyLay = (LinearLayout)findViewById(R.id.nearbyLayout);
searchLay = (LinearLayout)findViewById(R.id.searchLayout);
bookmarkLay = (LinearLayout)findViewById(R.id.bookmarkLayout);
settingLay = (LinearLayout)findViewById(R.id.settingsLayout);
reviewLay.setOnClickListener(this);
nearbyLay.setOnClickListener(this);
searchLay.setOnClickListener(this);
bookmarkLay.setOnClickListener(this);
settingLay.setOnClickListener(this);
btEdit.setOnClickListener(this);

Здесь я использовал макет вместо кнопки, и я устанавливаю onclicklistener для каждого макета.Теперь переопределите метод onclick и делайте что хотите с каждым макетом

0 голосов
/ 26 августа 2011

окей

- возьмите один макет и выровняйте его. ALIGNPARENTBOTTOM = TRUE теперь установите фон этого макета на ЭТОТ ЧЕРНЫЙ

- теперь возьмите пять кнопок в этом горизонтальном макете, теперь снимайте изображения какПрозрачный и установите его для кнопок

- также получите изображения для действия HOVER и установите его по нажатию этой конкретной кнопки

(используйте layout_weight для установки равных размеров кнопки)

Веселись !!

0 голосов
/ 26 августа 2011

Для этого я думаю, что нужно создать собственный вид для вкладки и позвонить в tabhost http://joshclemm.com/blog/?p=136

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...