简体   繁体   English

如何制作自定义“按钮”,例如Android版Facebook

[英]How to make custom “button” like Facebook for Android

I want to make my home screen for my android application like Facebook for Android. 我想为Android应用程序(例如Facebook for Android)制作主屏幕。 Is there anyone know how to make this layout? 有谁知道如何进行这种布局? I am still newbie for Android Development. 我仍然是Android开发的新手。

Android版Facebook

You can make a 3x3 table, put 3 buttons per row, and a background image as the button: 您可以制作一个3x3的表格,每行放置3个按钮,并以背景图片作为按钮:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/tableLayout1"
android:layout_height="match_parent"
android:layout_width="wrap_content">

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <Button
        android:text="Button"
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon1"></Button>
    <Button
        android:text="Button"
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon2"></Button>
    <Button
        android:text="Button"
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon3"></Button>

</TableRow>
<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <Button
        android:text="Button"
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon4"></Button>
    <Button
        android:text="Button"
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon5"></Button>
    <Button
        android:text="Button"
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon6"></Button>
</TableRow>
<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <Button
        android:text="Button"
        android:id="@+id/button7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon7"></Button>
    <Button
        android:text="Button"
        android:id="@+id/button8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon8"></Button>
    <Button
        android:text="Button"
        android:id="@+id/button9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/icon9"></Button>
</TableRow>

Change the @drawable/iconX to whatever background image you want/need. 将@ drawable / iconX更改为所需/所需的任何背景图像。

Use three linear layout with horizontal orientation and make their parent layout with vertical orientation, like this: 使用三个具有水平方向的线性布局,并使它们的父布局具有垂直方向,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" android:baselineAligned="false" android:orientation="horizontal">
  <LinearLayout android:gravity="center" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center_vertical" android:layout_weight="1">
      <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" >
        <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout> 
            <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical" android:layout_marginLeft="20dip">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout> 
        <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical" android:layout_marginLeft="20dip">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout>   
      </LinearLayout>
      <LinearLayout android:baselineAligned="false" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" >
        <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout> 
            <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical" android:layout_marginLeft="20dip">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout> 
            <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical" android:layout_marginLeft="20dip">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout>   
      </LinearLayout>
      <LinearLayout android:baselineAligned="false" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" >
        <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout> 
            <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical" android:layout_marginLeft="20dip">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout> 
            <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:orientation="vertical" android:layout_marginLeft="20dip">
            <ImageView android:background="@drawable/icon" 
                android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left"/>
            <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:text="caption"/>
        </LinearLayout>   
      </LinearLayout>
  </LinearLayout>
</LinearLayout>

Looks like this: 看起来像这样:

在此处输入图片说明

Here is the code: home_icon_view.xml 这是代码: home_icon_view.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout android:orientation="vertical" android:focusable="true" android:layout_width="90.0dip" android:layout_height="70.0dip" android:layout_margin="5.0dip" xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
    <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" />
</LinearLayout>
<TextView android:textSize="14.0sp" android:textColor="@color/home_text_color" android:gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>

And home.xml 还有home.xml

<LinearLayout android:orientation="vertical" android:id="@id/home_icons" android:paddingTop="5.0dip" android:paddingBottom="24.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
    <LinearLayout android:gravity="bottom|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <include android:id="@id/home_news_feed_icon" layout="@layout/home_icon_view" />
        <include android:id="@id/home_profile_icon" layout="@layout/home_icon_view" />
        <include android:id="@id/home_friends_icon" layout="@layout/home_icon_view" />
    </LinearLayout>
    <LinearLayout android:gravity="bottom|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <include android:id="@id/home_messages_icon" layout="@layout/home_icon_view" />
        <include android:id="@id/home_places_icon" layout="@layout/home_icon_view" />
        <include android:id="@id/home_groups_icon" layout="@layout/home_icon_view" />
    </LinearLayout>
    <LinearLayout android:gravity="bottom|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <include android:id="@id/home_events_icon" layout="@layout/home_icon_view" />
        <include android:id="@id/home_photos_icon" layout="@layout/home_icon_view" />
        <include android:id="@id/home_chat_icon" layout="@layout/home_icon_view" />
    </LinearLayout>
</LinearLayout>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM