真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在Android中利用Fragment實(shí)現(xiàn)底部菜單

本篇文章為大家展示了怎么在Android 中利用Fragment實(shí)現(xiàn)底部菜單,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

烏拉特前網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

第一步:添加引用

引用 Crosslight.Xamarin.Android.Support.v7.AppCompat 這個(gè)包。

怎么在Android 中利用Fragment實(shí)現(xiàn)底部菜單

第二步:繪制Main和Fragment界面

fg_home.axml



  

fg_label.axml



  

fg_mine.axml



  

fg_query.axml



  

Main.axml


 
  

main_left.xml



 
  
  
    
   
   

    
    
     
     
     
      
    
   
   
   
   
   
   
  
  

第三步:在value文件下創(chuàng)建Style,并且自定義 BaseAppTheme 樣式


 
  
 #1e89e7
 #1976d2
 #ff0000
 #ffffff

 
  false
  true
  @color/primary
  @color/primaryDark
  @style/AppTheme.DrawerArrowToggle
 

 
  @android:color/white
 

第四步:編寫每個(gè)Fragment的后臺(tái),這里只寫一個(gè)。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;

namespace BottomMuneDemo.Fragments
{
  public class HomeFragment : Fragment
  {
    private string content { get; set; }
    public HomeFragment(string content)
    {
      this.content = content;
    }

    public override void OnCreate(Bundle savedInstanceState)
    {
      base.OnCreate(savedInstanceState);

      // Create your fragment here
    }

    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
      View view = inflater.Inflate(Resource.Layout.fg_home, container, false);
      TextView txt_content = (TextView)view.FindViewById(Resource.Id.txt_content);
      txt_content.Text = "首頁";

      return view;
    }
  }
}

第五步:在Main活動(dòng)中進(jìn)行設(shè)置。

using Android.App;
using Android.Widget;
using Android.OS;
using Android.Support.V7.App;
using BottomMuneDemo.Fragments;
using Android.Views;

namespace BottomMuneDemo
{
  [Activity(Label = "BottomMuneDemo", MainLauncher = true, Theme = "@style/BaseAppTheme")]
  public class MainActivity : AppCompatActivity
  {
    private ImageView iv_home;
    private ImageView iv_query;
    private ImageView iv_label;
    private ImageView iv_mine;

    private FrameLayout fy_home;
    private FrameLayout fy_query;
    private FrameLayout fy_label;
    private FrameLayout fy_mine;

    HomeFragment fg1;
    QueryFragment fg2;
    LabelFragment fg3;
    MineFragment fg4;

    protected override void OnCreate(Bundle savedInstanceState)
    {
      base.OnCreate(savedInstanceState); 
      SetContentView(Resource.Layout.Main);

      fy_home = (FrameLayout)FindViewById(Resource.Id.fy_home);
      fy_query = (FrameLayout)FindViewById(Resource.Id.fy_query);
      fy_label = (FrameLayout)FindViewById(Resource.Id.fy_label);
      fy_mine = (FrameLayout)FindViewById(Resource.Id.fy_mine);

      iv_home = (ImageView)FindViewById(Resource.Id.iv_home);
      iv_query = (ImageView)FindViewById(Resource.Id.iv_query);
      iv_label = (ImageView)FindViewById(Resource.Id.iv_label);
      iv_mine = (ImageView)FindViewById(Resource.Id.iv_mine);

      bindViews();
      iv_home.PerformClick();

    }


    #region 底部菜單選項(xiàng)卡 

    //ui組件初始化與事件綁定
    private void bindViews()
    {

      iv_home.Click += (s, e) => { onClick(iv_home); };
      iv_query.Click += delegate { onClick(iv_query); };
      iv_label.Click += delegate { onClick(iv_label); };
      iv_mine.Click += delegate { onClick(iv_mine); };
    }
    //隱藏所有Fragment
    private void hideAllFragment(FragmentTransaction fragmentTransaction)
    {
      if (fg1 != null) fragmentTransaction.Hide(fg1);
      if (fg2 != null) fragmentTransaction.Hide(fg2);
      if (fg3 != null) fragmentTransaction.Hide(fg3);
      if (fg4 != null) fragmentTransaction.Hide(fg4);

      iv_home.SetImageResource(Resource.Drawable.icon_home1);
      iv_query.SetImageResource(Resource.Drawable.icon_query1);
      iv_label.SetImageResource(Resource.Drawable.icon_label1);
      iv_mine.SetImageResource(Resource.Drawable.icon_mine1);
    }
    //重置所有文本的選中狀態(tài)
    private void setSelected()
    {
      iv_home.Selected = false;
      iv_query.Selected = false;
      iv_label.Selected = false;
      iv_mine.Selected = false;
    }
    //單擊事件
    public void onClick(View v)
    {
      FragmentTransaction fTransaction = FragmentManager.BeginTransaction();
      hideAllFragment(fTransaction);
      switch (v.Id)
      {
        case Resource.Id.iv_home:
          setSelected();
          iv_home.Selected = true;
          iv_home.SetImageResource(Resource.Drawable.icon_home2);
          if (fg1 == null)
          {
            fg1 = new HomeFragment("首頁");
            fTransaction.Add(Resource.Id.fy_home, fg1);
          }
          else { fTransaction.Show(fg1); }
          break;

        case Resource.Id.iv_query:
          setSelected();
          iv_query.Selected = true;
          iv_query.SetImageResource(Resource.Drawable.icon_query2);
          if (fg2 == null)
          {
            fg2 = new QueryFragment("查詢");
            fTransaction.Add(Resource.Id.fy_query, fg2);
          }
          else { fTransaction.Show(fg2); }
          break;

        case Resource.Id.iv_label:
          setSelected();
          iv_label.Selected = true;
          iv_label.SetImageResource(Resource.Drawable.icon_label2);
          if (fg3 == null)
          {
            fg3 = new LabelFragment("貼簽");
            fTransaction.Add(Resource.Id.fy_label, fg3);
          }
          else { fTransaction.Show(fg3); }
          break;

        case Resource.Id.iv_mine:
          setSelected();
          iv_mine.Selected = true;
          iv_mine.SetImageResource(Resource.Drawable.icon_mine2);
          if (fg4 == null)
          {
            fg4 = new MineFragment("我的");
            fTransaction.Add(Resource.Id.fy_mine, fg4);
          }
          else { fTransaction.Show(fg4); }
          break;
      }
      fTransaction.Commit();
    }
    #endregion 
  }
}

Android是什么

Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。

上述內(nèi)容就是怎么在Android 中利用Fragment實(shí)現(xiàn)底部菜單,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標(biāo)題:怎么在Android中利用Fragment實(shí)現(xiàn)底部菜單
網(wǎng)頁URL:http://weahome.cn/article/ijhood.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部