一。布局文件
<android.support.v4.widget.DrawerLayout
android:id="@+id/draw_layou"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--主界面-->
<LinearLayout
android:background="#ff0"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World1!"
/>
</LinearLayout>
<!--========================分割线===========================-->
<!--侧滑界面-->
<!--android:layout_gravity="left" 这个属性决定侧滑页面是从左滑动还是右滑动-->
<LinearLayout
android:layout_gravity="left"
android:background="#0f0"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World2!"
/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
二。java代码
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private DrawerLayout draw_layou;
private Button btn1;
private Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
draw_layou = findViewById(R.id.draw_layou);
btn1 = findViewById(R.id.btn1);
btn2 = findViewById(R.id.btn2);
//点击侧滑
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
//drawerLayout的侧拉监听事件
draw_layou.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(@NonNull View view, float v) {
}
@Override
public void onDrawerOpened(@NonNull View view) {
Toast.makeText(MainActivity.this,"侧拉菜单打开了~",Toast.LENGTH_LONG).show();
}
@Override
public void onDrawerClosed(@NonNull View view) {
Toast.makeText(MainActivity.this,"侧拉菜单关闭了...",Toast.LENGTH_LONG).show();
}
@Override
public void onDrawerStateChanged(int i) {
Toast.makeText(MainActivity.this,"侧拉菜单状态改变了! ",Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btn1:
//点击主界面中的按钮弹出侧滑界面
draw_layou.openDrawer(Gravity.LEFT);
break;
case R.id.btn2:
//点击侧滑界面中的按钮缩回侧滑界面
draw_layou.closeDrawer(Gravity.LEFT);
break;
}
}
}
本文介绍了如何在Android应用中使用drawerLayout来实现左侧或右侧菜单的显示与隐藏。通过布局文件设置和Java代码控制,详细解析了菜单的交互逻辑。
的展开与隐藏&spm=1001.2101.3001.5002&articleId=87710850&d=1&t=3&u=cd00234d6cf4496283ff2ec8a53b345a)
1664

被折叠的 条评论
为什么被折叠?



