10天冲刺第三天后端app开发

在上次完成搜索和搜索功能之后,我们主要是要解决我们食堂app数据可视化的展示

主要就是类比美团团app实现一个主页推荐的功能,主页上会有一个推荐商家的功能并且我们拥有推荐的这一项功能

贴一个代码:

package cn.edu.neusoft.fooddemo.activity;

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RadioButton;

import cn.edu.neusoft.fooddemo.R;
import cn.edu.neusoft.fooddemo.fragment.CollectFragment;
import cn.edu.neusoft.fooddemo.fragment.MeFragment;
import cn.edu.neusoft.fooddemo.fragment.SearchFragment;
import cn.edu.neusoft.fooddemo.fragment.ShopListFragment;

public class MainActivity extends BaseActivity {

    private RadioButton ra_shouye_bt, ra_collect_bt, ra_search_bt, ra_wo_bt;
    private Fragment shopListFragment, collectFragment, searchFragment, meFragment;
    private FragmentManager fgManager;
    private int i = 0;

    protected void init(Context context) {
        setContentView(R.layout.activity_main);
        fgManager = getFragmentManager();
        ra_shouye_bt = (RadioButton) findViewById(R.id.ra_shouye_bt);
        ra_collect_bt = (RadioButton) findViewById(R.id.ra_collect_bt);
        ra_search_bt = (RadioButton) findViewById(R.id.ra_search_bt);
        ra_wo_bt = (RadioButton) findViewById(R.id.ra_wo_bt);

        shopListFragment = new ShopListFragment();
        collectFragment = new CollectFragment();
        searchFragment = new SearchFragment();
        meFragment = new MeFragment();
        //默认进入首页
        changeFrament(shopListFragment, null, "shouyeFragment");
        ra_shouye_bt.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.shouye1, 0, 0);

        ra_shouye_bt.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                shopListFragment = new ShopListFragment();
                changeFrament(shopListFragment, null, "shouyeFragment");
                changeRadioButtonImage(v.getId());
            }
        });
        ra_collect_bt.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                collectFragment = new CollectFragment();
                changeFrament(collectFragment, null, "collectFragment");
                changeRadioButtonImage(v.getId());
            }
        });
        ra_search_bt.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                searchFragment = new SearchFragment();
                changeFrament(searchFragment, null, "searchFragment");
                changeRadioButtonImage(v.getId());
            }
        });
        ra_wo_bt.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                meFragment = new MeFragment();
                changeFrament(meFragment, null, "meFragment");
                changeRadioButtonImage(v.getId());
            }
        });
    }

    public void changeFrament(Fragment fragment, Bundle bundle, String tag) {

        for (int i = 0, count = fgManager.getBackStackEntryCount(); i < count; i++) {
            fgManager.popBackStack();
        }
        FragmentTransaction fg = fgManager.beginTransaction();
        fragment.setArguments(bundle);
        fg.add(R.id.fragmentRoot, fragment, tag);
        fg.addToBackStack(tag);
        fg.commit();
    }

    public void changeRadioButtonImage(int btids) {
        int[] imageh = {R.drawable.shouye, R.drawable.collect,
                R.drawable.chazhao, R.drawable.gerenxinxi};
        int[] imagel = {R.drawable.shouye1, R.drawable.collect1,
                R.drawable.chazhao1, R.drawable.gerenxinxi1};
        int[] rabt = {R.id.ra_shouye_bt, R.id.ra_collect_bt, R.id.ra_search_bt,
                R.id.ra_wo_bt};
        switch (btids) {
            case R.id.ra_shouye_bt:
                changeImage(imageh, imagel, rabt, 0);
                break;
            case R.id.ra_collect_bt:
                changeImage(imageh, imagel, rabt, 1);
                break;
            case R.id.ra_wo_bt:
                changeImage(imageh, imagel, rabt, 3);
                break;
            case R.id.ra_search_bt:
                changeImage(imageh, imagel, rabt, 2);
                break;
            default:
                break;
        }
    }
    public void changeImage(int[] image1, int[] image2, int[] rabtid, int index) {
        for (int i = 0; i < image1.length; i++) {
            if (i != index) {
                ((RadioButton) findViewById(rabtid[i]))
                        .setCompoundDrawablesWithIntrinsicBounds(0, image1[i],
                                0, 0);
            } else {
                ((RadioButton) findViewById(rabtid[i]))
                        .setCompoundDrawablesWithIntrinsicBounds(0, image2[i],
                                0, 0);
            }
        }
    }
}
View Code

实现的效果图就类似于美团

posted @ 2020-05-23 02:31  抽象博客  阅读(158)  评论(0编辑  收藏  举报