欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實現(xiàn)Tab切換界面功能詳解

 更新時間:2022年05月26日 16:36:17   作者:米萊蝦  
這篇文章主要為大家詳細(xì)介紹了Android如何實現(xiàn)Tab切換界面的功能,以及對Tab變化事件進行監(jiān)聽。文中示例代碼講解詳細(xì),感興趣的可以了解一下

一、實驗?zāi)康?/h2>

1. 掌握各種高級UI控件的基本使用;

2. 能夠?qū)崿F(xiàn)Tab切換效果。

二、實驗任務(wù)

1. 根據(jù)原型圖設(shè)計界面;

2. 實現(xiàn)Tab切換;

三、實驗內(nèi)容與要求

3.1 界面設(shè)計:

(1)使用線性布局實現(xiàn)界面的基本布局;

(2)使用不同的Tab實現(xiàn)方式實現(xiàn)tab的布局。

3.2 Tab切換

(1)監(jiān)聽Tab變化事件;

(2)切換對應(yīng)的頁面內(nèi)容;

四、實現(xiàn)效果

顯示界面

隱藏界面

移除界面

五、代碼實現(xiàn) 

Fragment

package com.example.shiyan3.fragment;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.shiyan3.R;
 
public class FirstFG extends Fragment {
    // TODO: Rename parameter arguments, choose names that match
    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";
 
    // TODO: Rename and change types of parameters
    private String mParam1;
    private String mParam2;
    public FirstFG() {
        // Required empty public constructor
    }
 
 
    // TODO: Rename and change types and number of parameters
    public static FirstFG newInstance(String param1, String param2) {
        FirstFG fragment = new FirstFG();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
        }
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_firstfg, container, false);
    }
}

主界面

package com.example.shiyan3;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.example.shiyan3.fragment.FirstFG;
 
public class  MainActivity extends AppCompatActivity {
    FragmentManager fragmentManager;
    FragmentTransaction fragmentTransaction;
    FirstFG fragment;
    Button badd,bremove,bshow,bhide;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        badd = this.findViewById(R.id.addFragment);
        bremove =this.findViewById(R.id.removeFragment);
        bshow = this.findViewById(R.id.showFragment);
        bhide = this.findViewById(R.id.hideFragment);
        fragment = new FirstFG();
        Bundle bundle = new Bundle();
        bundle.putString("key","this is String Value");
        fragment.setArguments(bundle);
 
        fragmentManager = this.getSupportFragmentManager();
 
        fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.fgcontainer,fragment,"FirstFragment");
        fragmentTransaction.commit();
 
        badd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.fgcontainer,fragment,"FirstFragment");
                fragmentTransaction.commit();
            }
        });
 
        bremove.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.remove(fragment);
                fragmentTransaction.commit();
            }
        });
 
        bshow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.show(fragment);
                fragmentTransaction.commit();
            }
        });
        bhide.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.hide(fragment);
                fragmentTransaction.commit();
            }
        });
    }
}

六、實驗總結(jié)

通過這次實驗,我學(xué)習(xí)了tab切換界面的增刪改查的操作,這些技能的熟練能夠為我的進一步學(xué)習(xí)打下了基礎(chǔ)。其次我了解到除了fragment,還有view、fragment+view等方法設(shè)計tab切換,它們各有特色,一者是點擊切換,一者是滑動切換,組合后是一種復(fù)合功能。在此次學(xué)習(xí)中,仍有部分內(nèi)容需要加強。

以上就是Android實現(xiàn)Tab切換界面功能詳解的詳細(xì)內(nèi)容,更多關(guān)于Android Tab切換界面的資料請關(guān)注腳本之家其它相關(guān)文章!

  • Android多渠道打包的方法步驟

    Android多渠道打包的方法步驟

    本篇文章主要介紹了Android多渠道打包的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Android編程判斷網(wǎng)絡(luò)連接是否可用的方法

    Android編程判斷網(wǎng)絡(luò)連接是否可用的方法

    這篇文章主要介紹了Android編程判斷網(wǎng)絡(luò)連接是否可用的方法,實例分析了Android判定網(wǎng)絡(luò)連接的相關(guān)技巧與實現(xiàn)步驟,需要的朋友可以參考下
    2015-12-12
  • flutter BottomAppBar實現(xiàn)不規(guī)則底部導(dǎo)航欄

    flutter BottomAppBar實現(xiàn)不規(guī)則底部導(dǎo)航欄

    這篇文章主要為大家詳細(xì)介紹了flutter BottomAppBar實現(xiàn)不規(guī)則底部導(dǎo)航欄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android 帶清除功能的輸入框控件實例詳解

    Android 帶清除功能的輸入框控件實例詳解

    這篇文章主要介紹了Android 帶清除功能的輸入框控件實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • android自定義WaveView水波紋控件

    android自定義WaveView水波紋控件

    這篇文章主要為大家詳細(xì)介紹了android自定義WaveView水波紋控件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Android Handler的詳細(xì)介紹

    Android Handler的詳細(xì)介紹

    Handler當(dāng)應(yīng)用程序啟動時,Android首先會開啟一個主線程 (也就是UI線程) , 主線程為管理界面中的UI控件,進行事件分發(fā)
    2013-09-09
  • Android中圖片圓角三種實現(xiàn)方法

    Android中圖片圓角三種實現(xiàn)方法

    大家好,本篇文章主要講的是Android中圖片圓角三種實現(xiàn)方法,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Android創(chuàng)建懸浮窗的完整步驟

    Android創(chuàng)建懸浮窗的完整步驟

    這篇文章主要給大家介紹了關(guān)于Android創(chuàng)建懸浮窗的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Android編程之單元測試實例分析

    Android編程之單元測試實例分析

    這篇文章主要介紹了Android編程之單元測試,結(jié)合具體實例分析了Android單元測試的具體實現(xiàn)步驟與相關(guān)注意事項,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 最新評論