侧边栏使用
来源:互联网 发布:中邮网络培训学院官网 编辑:程序博客网 时间:2024/06/05 02:06
侧边栏的使用是非常的常见,一大部分的App都会使用,可以当做显示用户的信息,作为跳转控件等都可以在侧边栏显示,而这个侧边栏的使用是直接用系统内部来实现了,非常方便。
1.xml文件:
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_ce" android:layout_width="match_parent" android:layout_height="match_parent" ><RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:background="#a2e668" android:id="@+id/ce_iv" /> <Button android:id="@+id/ce_but" android:background="#ffffff" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击打开侧边栏" /></RelativeLayout> <android.support.design.widget.NavigationView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="left" android:fitsSystemWindows="true" android:id="@+id/ce_ntv" > </android.support.design.widget.NavigationView></android.support.v4.widget.DrawerLayout>
注意:这里必须是以DraverLayout为根控件,NacigationView是侧边栏控件,通过DrawerLayout来设置侧边栏的位置
2.侧边栏布局文件(ce_layout)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent"> <TextView android:background="#f28d8d" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:id="@+id/ce_tv1" android:text="按钮1" android:textSize="50dp" android:clickable="true" > </TextView> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:id="@+id/ce_tv2" android:text="按钮2" android:textSize="50dp" android:clickable="true" > </TextView> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:id="@+id/ce_tv3" android:text="按钮3" android:textSize="50dp" android:clickable="true" > </TextView></LinearLayout>
3.Java文件
public class CeActivity extends AppCompatActivity implements View.OnClickListener { private Button button; private NavigationView navigationView; private DrawerLayout drawerLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ce); getSupportActionBar().hide(); button=(Button)findViewById(R.id.ce_but); navigationView=(NavigationView)findViewById(R.id.ce_ntv); drawerLayout=(DrawerLayout)findViewById(R.id.activity_ce); //设置侧边栏 setCeData(); //控件点击可以打开侧边栏 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //打开侧边栏 drawerLayout.openDrawer(GravityCompat.START); } }); } private void setCeData(){ //侧边栏绑定布局 navigationView.inflateHeaderView(R.layout.ce_layout); //通过侧边栏获取View View view =navigationView.getHeaderView(0); //通过View来获取view上面的控件,然后就可以做逻辑了 TextView textView1=(TextView) view.findViewById(R.id.ce_tv1); TextView textView2=(TextView) view.findViewById(R.id.ce_tv2); TextView textView3=(TextView) view.findViewById(R.id.ce_tv3); textView1.setOnClickListener(this); textView2.setOnClickListener(this); textView3.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.ce_tv1: Toast.makeText(CeActivity.this,"1111",Toast.LENGTH_SHORT).show(); //关闭侧边栏 drawerLayout.closeDrawers(); break; case R.id.ce_tv2: Toast.makeText(CeActivity.this,"2222",Toast.LENGTH_SHORT).show(); drawerLayout.closeDrawers(); break; case R.id.ce_tv3: Toast.makeText(CeActivity.this,"3333",Toast.LENGTH_SHORT).show(); break; } }}
这样就非常永远的实现的侧边栏的功能。
阅读全文
0 0
- 侧边栏使用
- Fragment使用—侧边栏
- 侧边栏 MMDrawerController使用教程
- 使用slidingmenu实现侧边栏
- 使用UIScreenEdgePanGestureRecognizer写iOS7侧边栏
- 使用UIScreenEdgePanGestureRecognizer写iOS7侧边栏
- MMDrawerController抽屉侧边栏使用范例代码
- 一个方便使用的轻量级侧边栏
- 使用Iframe标签创建侧边栏
- SectionIndexer解析与使用 联系人侧边栏
- SlidingMenu (侧边栏)使用步骤
- 路由和侧边栏结合使用
- 侧边栏
- 侧边栏
- 侧边栏
- 使用JavaScript和CSS实现异步移动侧边栏
- 侧边栏(使用Support Library 4提供的扩展组件)
- 侧边栏(使用Support Library 4提供的扩展组件)
- Android Gradle实用技巧(一) | 隐藏Android签名文件和密钥信息
- 命令模式
- 如何卸载已安装的NiceLabel 2017
- 数据结构 排序
- LCS模板
- 侧边栏使用
- android LeakCanary检测内存泄漏
- css3 文字动画效果
- 面试中常问的排序算法
- 使用 Intellij Idea 导出JavaDoc
- [Winform]WebKit.Net使用
- ArcGIS中的一些影像格式:.ige .img .rde .rrd
- 读取properties文件的内容值
- grunt压缩、合并css、js文件的配置信息