【无标题】AIDE使用MD风格

该文详细介绍了如何在Android应用中集成ToolBar以替代ActionBar,并结合DrawerLayout实现侧滑菜单。首先,需要添加相应的支持库,然后在布局文件中添加ToolBar和DrawerLayout,接着在Activity中初始化并设置ToolBar,最后配置侧滑菜单的行为。此外,还提到了自定义菜单弹出位置的样式设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      《MD系列ToolBar+DrawerLayout侧滑》
                    (工具栏+侧滑)
                                                                                  
   ㈠♦️新建工程添加v7&v4库  {v7包工具栏&v4包侧滑}

com.android.support:support-v4:+
      com.android.support:appcompat-v7:+
   
         
   ㈡♦️使用Toolbar必须隐藏ActionBar进入过程res/values/style.xml修改属性为       
  <!-- 隐藏ActionBar -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

  ㈢♦️布局添加ToolBar控件和DrawerLayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<!--  添加DrawerLayout侧滑  -->
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawerlayout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!--  用相对布局把Toolbar控件包围 -->
<RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent">
<!--  添加ToolBar工具栏  -->
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="?attr/actionBarSize" <!-- 自动适应工具栏高度,复制时早记得删除注释以防报错 -->
           android:layout_width="match_parent"/>          
</RelativeLayout>

<!--  添加主页布局  -->
<include
android:layout_width="match_parent"
android:layout_height="match_parent"
layout="@layout/home"/>
<!--  添加侧滑菜单布局  -->
<include
android:layout_width="280dp"
android:layout_height="match_parent"
layout="@layout/menu"
android:layout_gravity="start"/>

   </android.support.v4.widget.DrawerLayout>
</LinearLayout>
 
   <!--注释:另外要写主布局home.xml和侧滑布局menu.xml-->
 
  
  
  ㈣♦️Activity中加入ToolBar工具栏
  //MainActivity.java
package com.v4v7;

import android.os.*;
import android.support.v4.widget.*;
import android.support.v7.app.*;
import android.support.v7.widget.*;
import android.view.*;
import android.widget.*;
import com.v4v7.*;

import android.support.v7.widget.Toolbar;

/*
使用Toolbar要继承ActionBarActivity
public class MainActivity extends ActionBarActivity//这里修改把Activity该为ActionBarActivity
*/
public class MainActivity extends ActionBarActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

//添加toolbar
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); //绑定工具栏ID
toolbar.setLogo(R.drawable.ic_launcher); // 设置apk图标
toolbar.setTitle("主标题");  // 主标题
toolbar.setSubtitle("副标题"); // 副标题
setSupportActionBar(toolbar);//替换系统状态栏

DrawerLayout drawer=(DrawerLayout) findViewById(R.id.drawerlayout);//绑定侧滑ID
ActionBarDrawerToggle toggle=new ActionBarDrawerToggle(this,drawer,toolbar,R.string.app_name,R.string.app_name){};
   //标题栏左侧显示一个菜单按钮
toggle.syncState();
   //绑定侧滑监听器
drawer.setDrawerListener(toggle);
}
@Override
//添加菜单res新建menu中建立menu.xml菜单
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
//菜单的响应方法
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.item:
Toast.makeText(this,"你点击了菜单",Toast.LENGTH_SHORT).show();
break;
}
return true;
}   
}
//另外,这里的app/src/res/menu/menu.xml忘写了,自行添加,如果不需要可将MainActivity.java里的代码注释掉或删除!
//这里基本上就完成了!😂
 

  ㈤♦️另外设置菜单弹出位置只需要修改style风格:
 
  style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 隐藏ActionBar -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- toolbar(actionbar)颜色 -->
<item name="colorPrimary">#FF48A3</item>
<!-- 状态栏颜色 -->
<item name="colorPrimaryDark">#3A5FCD</item>

<item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
</style>

<!--溢出[弹出]菜单样式 parent相当于继承 可以不要parent-->
<style name="OverflowMenuStyle" parent="@style/Widget.AppCompat.PopupMenu.Overflow">
<!-- 是否覆盖锚点,默认为true,即盖住Toolbar -->
<item name="overlapAnchor">false</item>
<item name="android:dropDownWidth">wrap_content</item>
<!-- 设置菜单按钮位移 -->
<item name="android:paddingRight">5dp</item>
<!-- 弹出层背景颜色 -->
<item name="android:popupBackground">#3A5FCD</item>
<!-- 弹出层垂直方向上的偏移,即在竖直方向上距离Toolbar的距离,值为负则会盖住Toolbar -->
<item name="android:dropDownVerticalOffset">50dp</item>
<!-- 弹出层水平方向上的偏移,即距离屏幕左边的距离,负值会导致右边出现空隙 -->
<item name="android:dropDownHorizontalOffset">-150dp</item>
<!-- 设置弹出菜单文字颜色 -->
<item name="android:textColor">#3A5FCD</item>
</style>

</resources>
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值