Android模仿Buttonbar
16lz
2021-01-23
布局文件如下:
- <?xmlversion="1.0"encoding="utf-8"?>
- <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <ViewFlipperandroid:id="@+id/flipper"android:layout_width="fill_parent"android:layout_height="fill_parent"/>
- <LinearLayoutandroid:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"
- android:background="@drawable/bottom_bg"android:layout_alignParentBottom="true"android:gravity="center_vertical"style="@android:style/ButtonBar">
- <ImageButtonandroid:id="@+id/searchBtn"android:src="@drawable/search_on"android:background="#00000000"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"/>
- <ImageButtonandroid:id="@+id/historyBtn"android:src="@drawable/history"android:background="#00000000"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"/>
- <ImageButtonandroid:id="@+id/starredBtn"android:src="@drawable/starred"android:background="#00000000"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"/>
- </LinearLayout>
- </RelativeLayout>
代码如下:
- importandroid.app.Activity;
- importandroid.content.Intent;
- importandroid.os.Bundle;
- importandroid.view.LayoutInflater;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.widget.ImageButton;
- importandroid.widget.ViewFlipper;
- publicclassSearchextendsActivity{
- privateImageButtonsearchBtn;
- privateImageButtonhistoryBtn;
- privateImageButtonstarredBtn;
- //通过ViewFlipper在多个view间转换
- privateViewFlipperflipper;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- findViews();
- bindListener();
- }
- publicvoidfindViews(){
- searchBtn=(ImageButton)findViewById(R.id.searchBtn);
- historyBtn=(ImageButton)findViewById(R.id.historyBtn);
- starredBtn=(ImageButton)findViewById(R.id.starredBtn);
- flipper=(ViewFlipper)findViewById(R.id.flipper);
- LayoutInflaterlayoutInflater=this.getLayoutInflater();
- Viewsearch=layoutInflater.inflate(R.layout.search,null);
- Viewhistory=layoutInflater.inflate(R.layout.history,null);
- Viewstarred=layoutInflater.inflate(R.layout.starred,null);
- //将3个view加入ViewFlipper中
- flipper.addView(search,0);
- flipper.addView(history,1);
- flipper.addView(starred,2);
- //设置首先显示第一个view
- flipper.setDisplayedChild(0);
- }
- publicvoidbindListener(){
- searchBtn.setOnClickListener(newOnClickListener(){
- //点击第一个button,设置view为0
- @Override
- publicvoidonClick(Viewv){
- searchBtn.setImageResource(R.drawable.search_on);
- historyBtn.setImageResource(R.drawable.history);
- starredBtn.setImageResource(R.drawable.starred);
- flipper.setDisplayedChild(0);
- }
- });
- historyBtn.setOnClickListener(newOnClickListener(){
//点击第二个button,设置view为1
- @Override
- publicvoidonClick(Viewv){
- searchBtn.setImageResource(R.drawable.search);
- historyBtn.setImageResource(R.drawable.history_on);
- starredBtn.setImageResource(R.drawable.starred);
- flipper.setDisplayedChild(1);
- }
- });
- starredBtn.setOnClickListener(newOnClickListener(){
//点击第三个button,设置view为2
- @Override
- publicvoidonClick(Viewv){
- searchBtn.setImageResource(R.drawable.search);
- historyBtn.setImageResource(R.drawable.history);
- starredBtn.setImageResource(R.drawable.starred_on);
- flipper.setDisplayedChild(2);
- }
- });
- }
- }
程序截图:
更多相关文章
- Android-线性布局的经典案例1-计算器
- Android简易计算器——LinearLayout布局
- android 使用代码实现 RelativeLayout布局
- Android从零撸美团(四) - 美团首页布局解析及实现 - Banner+自定
- 源码解析Android中View的layout布局过程
- 用android LinearLayout和RelativeLayout实现精确布局
- Android中微信主界面菜单栏的布局实现代码
- 为了获取下一个10亿用户,Google的布局其实不仅仅是Android Go