zoukankan      html  css  js  c++  java
  • Android BottomSheet:底部弹出Fragment面板(4)

    

    Android BottomSheet:底部弹出Fragment面板(4)


    BottomSheet不仅可以弹出轻量级的定制好的面板(见附录文章5,6,7),还可以弹出“重”的fragment,但是此fragment是BottomSheetFragment。如果开发项目中需要更深度复杂的定制,则需要灵活的写一个fragment重新实现自己的代码设计要求,但是此fragment是需要继承自BottomSheetFragment。
    写一个小例子。该例子意图从一个button按钮触发弹出底部的面板,此面板是一个fragment,该fragment可由开发者重写。
    先写一个布局activity_bottom_sheet_fragment.xml,很简单:

    <com.flipboard.bottomsheet.BottomSheetLayout
        android:id="@+id/bottomsheet"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="16dp">
    
            <Button
                android:id="@+id/bottomsheet_fragment_button"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|top"
                android:layout_marginBottom="16dp"
                android:text="@string/show" />
        </RelativeLayout>
    </com.flipboard.bottomsheet.BottomSheetLayout>



    上层Java代码:

    package com.flipboard.bottomsheet.sample;
    
    import com.flipboard.bottomsheet.R;
    
    import android.graphics.Color;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    
    import com.flipboard.bottomsheet.BottomSheetLayout;
    import com.flipboard.bottomsheet.commons.BottomSheetFragment;
    
    public final class BottomSheetFragmentActivity extends AppCompatActivity {
    
        protected BottomSheetLayout bottomSheetLayout;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_bottom_sheet_fragment);
    
            bottomSheetLayout = (BottomSheetLayout) findViewById(R.id.bottomsheet);
    
            findViewById(R.id.bottomsheet_fragment_button).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    new TestFragment().show(getSupportFragmentManager(), R.id.bottomsheet);
                }
            });
        }
    
        public static class TestFragment extends BottomSheetFragment {
    
            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                View v = inflater.inflate(android.R.layout.simple_list_item_1, null);
                v.setBackgroundColor(Color.LTGRAY);
                v.setMinimumHeight(500);
    
                TextView text = (TextView) v.findViewById(android.R.id.text1);
                text.setText("zhang phil @ csdn");
                return v;
            }
        }
    }


    代码运行结果:



    附录文章:
    1,《Android自底部平滑向上滑出面板的AndroidSlidingUpPanel》链接地址:http://blog.csdn.net/zhangphil/article/details/51444509 
    2,《Android音乐、视频类APP常用控件:DraggablePanel(1)》链接地址:http://blog.csdn.net/zhangphil/article/details/51566860 
    3,《Android音乐、视频类APP常用控件:DraggablePanel(2)》链接地址:http://blog.csdn.net/zhangphil/article/details/51578665
    4,《Android图片加载与缓存开源框架:Android Glide》链接地址http://blog.csdn.net/zhangphil/article/details/45535693
    5,《Android BottomSheet:便捷易用的底部滑出面板(1)》链接地址:http://blog.csdn.net/zhangphil/article/details/51775955
    6,《Android BottomSheet:以选取图片为例(2)》链接地址:http://blog.csdn.net/zhangphil/article/details/51776408
    7,《Android BottomSheet:List列表或Grid网格展示(3)》链接地址:http://blog.csdn.net/zhangphil/article/details/51781698

  • 相关阅读:
    Android外部SD卡的读取
    TableLayout(表格布局)
    Android中Adapter之BaseAdapter使用
    Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现) .
    html5新增及废除属性
    Android Studio运行程序出现Session ‘app’: Error Launching activity 解决办法
    Android的面孔_Actiyity
    初步理解类和对象
    zabbix(2)使用指南
    zabbix(1)基础知识
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6147294.html
Copyright © 2011-2022 走看看