仿团购底部App(通过 LinearLayout 与Button )

来源:互联网 发布:知乎大神级别编 编辑:程序博客网 时间:2024/06/02 02:42

项目名称:仿团购底部App

项目描述:使用LinearLayout 与 Button selector

项目功能:通过点击按钮,实现了底部 图标和字体颜色的变化,

项目技术:在监听中,判断点击的按钮,并调用 setSelected(true) 选中当前点击按钮,调用 setSelected(false) 取消其他三个按


开发过程:

 *1.声明LinearLayout 与 Button 设计底部 Tab 菜单

 * 2.声明四个 Button

 * 3.初始化四个 Button

 * 4.为四个 Button 设置监听

 * 5.在监听中,判断点击的按钮,并调用 setSelected(true) 选中当前点击按钮,调用 setSelected(false) 取消其他三个按钮


selector.xml   可以直接复制上一个博客


activity_tab_menu.xml

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".TabMenuActivity">


    <LinearLayout

        android:id="@+id/ll_tab_menu"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:orientation="horizontal">


        <Button

            android:id="@+id/btn_tab_menu_deal"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:background="@null"

            android:drawablePadding="5dp"

            android:drawableTop="@drawable/deal_selector"

            android:text="团购"

            android:textColor="@drawable/text_color_selector"/>


        <Button

            android:id="@+id/btn_tab_menu_nearby"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:background="@null"

            android:drawablePadding="5dp"

            android:drawableTop="@drawable/nearby_selector"

            android:text="附近"

            android:textColor="@drawable/text_color_selector"/>


        <Button

            android:id="@+id/btn_tab_menu_my"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:background="@null"

            android:drawablePadding="5dp"

            android:drawableTop="@drawable/my_selector"

            android:text="我的"

            android:textColor="@drawable/text_color_selector"/>


        <Button

            android:id="@+id/btn_tab_menu_more"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:background="@null"

            android:drawablePadding="5dp"

            android:drawableTop="@drawable/more_selector"

            android:text="更多"

            android:textColor="@drawable/text_color_selector"/>

    </LinearLayout>


</RelativeLayout>



TabMenuActivity.java

package cn.sophia.android;


import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.LinearLayout;


/**

 * 开发步骤:

 * 1.声明LinearLayout 与 Button 设计底部 Tab 菜单

 * 2.声明四个 Button

 * 3.初始化四个 Button

 * 4.为四个 Button 设置监听

 * 5.在监听中,判断点击的按钮,并调用 setSelected(true) 选中当前点击按钮,调用 setSelected(false) 取消其他三个按钮

 */

public class TabMenuActivityextends Activity implements OnClickListener{

// 声明控件

private LinearLayout llTabMenu;

private Button btnDeal;

private Button btnNearby;

private Button btnMy;

private Button btnMore;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_tab_menu);

// 初始化控件

initViews();

// 为控件设置监听

btnDeal.setOnClickListener(this);

btnNearby.setOnClickListener(this);

btnMore.setOnClickListener(this);

btnMy.setOnClickListener(this);

}

/**

* 初始化控件

*/

private void initViews() {

llTabMenu = (LinearLayout) findViewById(R.id.ll_tab_menu);

btnDeal = (Button) findViewById(R.id.btn_tab_menu_deal);

btnNearby = (Button) findViewById(R.id.btn_tab_menu_nearby);

btnMy = (Button) findViewById(R.id.btn_tab_menu_my);

btnMore = (Button) findViewById(R.id.btn_tab_menu_more);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_tab_menu_deal:

btnDeal.setSelected(true);

btnMore.setSelected(false);

btnMy.setSelected(false);

btnNearby.setSelected(false);

break;


case R.id.btn_tab_menu_nearby:

btnDeal.setSelected(false);

btnMore.setSelected(false);

btnMy.setSelected(false);

btnNearby.setSelected(true);


break;

case R.id.btn_tab_menu_my:

btnDeal.setSelected(false);

btnMore.setSelected(false);

btnMy.setSelected(true);

btnNearby.setSelected(false);

break;

case R.id.btn_tab_menu_more:

btnDeal.setSelected(false);

btnMore.setSelected(true);

btnMy.setSelected(false);

btnNearby.setSelected(false);

break;

}

}

}



0 0
原创粉丝点击