仿团购底部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;
}
}
}
- 仿团购底部App(通过 LinearLayout 与Button )
- App底部导航(Fragment与ActivityGroup)
- listview通过滚动摆脱底部button遮盖的问题
- Android底部导航栏实现(三)之TextView+LinearLayout
- LinearLayout 布局 底部固定导航
- android 底部快速button
- LinearLayout中设置Button居中
- LinearLayout中Button左右对齐
- LinearLayout动态加载Button方案
- LinearLayout 当作fragment的容器,fragment与button按钮之间的联动
- 通过LinearLayout熟悉Measure
- iOS顶部 图片 文字 button (底部横线选中) 切换
- android linearlayout 把控件view置底部(放在页面最下方)
- 底部导航栏实现页面的切换(一):Fragment + LinearLayout + TextView
- Android LinearLayout 子控件底部对齐
- 底部导航之TextView+LinearLayout+Fragment
- tab按下效果,使用LinearLayout + ImageView.和LinearLayout + Button
- listview底部添加"更多"button
- select元素的使用
- Angularjs 中遇到的一些问题
- 加快Chrome网页开启速度
- ArcGIS中坐标转换与投影变换
- 在iOS的XCode工程配置中为什么要用-all_load&-ObjC
- 仿团购底部App(通过 LinearLayout 与Button )
- Crazypony四轴飞行器
- 【OpenCV】5种图像滤波辨析:方框、均值、高斯、中值、双边
- C++11的tuple用法笔记
- Python异步通信模块asyncore
- Python---数据类型和变量.练习题.请打印出以下变量的值
- android studio使用
- OpenCV2:图像滤波基础
- 常用Keytool 命令