当前位置:首页 » 安卓系统 » android侧滑菜单

android侧滑菜单

发布时间: 2022-03-02 05:14:44

1. android怎么实现类似qq那样的右滑出现侧拉菜单

Android 实现类似QQ侧滑菜单,实现左右侧滑 源码。具有iOS 7/8 parallax effect 风格的侧边菜单,类似于最新版qq的菜单效果。ReisdeMenu 创意灵感来自于Dribbble1还有2,而这个是Android版的ResideMenu,在视觉效果上部分参考了iOS版的RESideMenu

2. android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕

布局文件中使用drawerLayout ,下面包含两个区,主内容区的布局代码要放在侧滑菜单布局的前面,侧滑菜单的部分的布局可以设置layout_gravity属性来表示在左边还是右边。
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
看代码很清楚,但是如果说要让侧滑出来的菜单内容占满整个屏幕的话,需要自己知道屏幕的width,ListView也就是菜单布局width设置一样就可以了(不过设置为math_parent也大概只占了百分之90左右,并不能完全覆盖掉)。

3. android中我使用了drawerlayout实现侧滑菜单,主界面是一个listview,为什么

给侧滑菜单布局添加属性android:clickable="true"

4. android 侧滑菜单 有谁知道京东商城分类中的侧滑效果是怎样实现的呢希望可以分享一下代码。

这个我给你个代码 你看看主要通过FrameLayout实现的!!

5. android studio 侧滑删除,下拉刷新怎么做

1、SwipeMenuListView继承ListView。
public class SwipeMenuListView extends ListView {11

2、重写setAdapter方法,然后创建一个SwipeMenuLayout包含我们自己adapter中getView返回的View跟我们的侧滑菜单。
@Override
public void setAdapter(ListAdapter adapter) {
super.setAdapter(new SwipeMenuAdapter(getContext(), adapter) {
@Override
public void createMenu(SwipeMenu menu) {
if (mMenuCreator != null) {
mMenuCreator.create(menu);
Log.e("TAG", "---createMenu--");
}

6. Android 滑动菜单(slide menu) 背景 亮度和透明度设置

首先在sdk目录下source源码目录下搜索DrawerLayout文件,把相关的java文件导入工程

以5.0为例

@Override
protectedbooleandrawChild(Canvascanvas,Viewchild,longdrawingTime){
finalintheight=getHeight();
finalbooleandrawingContent=isContentView(child);
intclipLeft=0,clipRight=getWidth();

finalintrestoreCount=canvas.save();
if(drawingContent){
finalintchildCount=getChildCount();
for(inti=0;i<childCount;i++){
finalViewv=getChildAt(i);
if(v==child||v.getVisibility()!=VISIBLE||
!hasOpaqueBackground(v)||!isDrawerView(v)||
v.getHeight()<height){
continue;
}

if((v,Gravity.LEFT)){
finalintvright=v.getRight();
if(vright>clipLeft)clipLeft=vright;
}else{
finalintvleft=v.getLeft();
if(vleft<clipRight)clipRight=vleft;
}
}
canvas.clipRect(clipLeft,0,clipRight,getHeight());
}
finalbooleanresult=super.drawChild(canvas,child,drawingTime);
canvas.restoreToCount(restoreCount);

if(mScrimOpacity>0&&drawingContent){

/*
*这里是直接用画笔画了一层有透明度的方块覆盖在主内容上方,产生慢*慢变暗的效果,所以我们只需要在这里修改即可,
*根据代码逻辑可以知道我们只需要改变imag即可
*/
finalintbaseAlpha=(mScrimColor&0xff000000)>>>24;
finalintimag=(int)(baseAlpha*mScrimOpacity);
finalintcolor=imag<<24|(mScrimColor&0xffffff);
mScrimPaint.setColor(color);

canvas.drawRect(clipLeft,0,clipRight,getHeight(),mScrimPaint);
}elseif(mShadowLeft!=null&&(child,Gravity.LEFT)){
finalintshadowWidth=mShadowLeft.getIntrinsicWidth();
finalintchildRight=child.getRight();
finalintdrawerPeekDistance=mLeftDragger.getEdgeSize();
finalfloatalpha=
Math.max(0,Math.min((float)childRight/drawerPeekDistance,1.f));
//这里是绘制菜单的覆盖物
mShadowLeft.setBounds(childRight,child.getTop(),
childRight+shadowWidth,child.getBottom());
mShadowLeft.setAlpha((int)(0xff*alpha));
mShadowLeft.draw(canvas);
}elseif(mShadowRight!=null&&(child,Gravity.RIGHT)){
finalintshadowWidth=mShadowRight.getIntrinsicWidth();
finalintchildLeft=child.getLeft();
finalintshowing=getWidth()-childLeft;
finalintdrawerPeekDistance=mRightDragger.getEdgeSize();
finalfloatalpha=
Math.max(0,Math.min((float)showing/drawerPeekDistance,1.f));
mShadowRight.setBounds(childLeft-shadowWidth,child.getTop(),
childLeft,child.getBottom());
mShadowRight.setAlpha((int)(0xff*alpha));
mShadowRight.draw(canvas);
}
returnresult;
}


改变代码之后保存

这时候在布局文件中就不要使用android-supportv4包下的DrawerLayout的,改成你工程里修改后的DrawerLayout,运行就达到效果了

7. 安卓大神们,请教一下,这个美食天下的应用中,侧滑栏菜谱里面,有很多圆圈,点击圆圈会展开详情子选项,

actionbar

8. android侧滑菜单的状态栏一体化怎么去实现

首先是两个开启沉浸模式和关闭沉浸模式的函数 ? @SuppressLint("NewApi") public static void hideSystemUI(View view) { view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN View.SYSTEM_UI_FLAG_HIDE_NAVIGATION View.SYSTEM_UI_FLAG_FULLSCREEN View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } @SuppressLint("NewApi") public static void showSystemUI(View view) { view.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); } 这些代码可以在google的开发者文档中找到,可以看这里Using Immersive Full-Screen Mode,上面的代码是在Android 4.4中才会生效,对应的Android版本兼容的判断请自行处理。 此外还需要一个辅助函数,用于获得状态栏高度,使用反射获得。 ? /** * 获状态栏高度 * * @param context 上下文 * @return 通知栏高度 */ public int getStatusBarHeight(Context context) { int statusBarHeight = 0; try { Class<?> clazz = Class.forName("com.android.internal.R$dimen"); Object obj = clazz.newInstance(); Field field = clazz.getField("status_bar_height"); int temp = Integer.parseInt(field.get(obj).toString()); statusBarHeight = context.getResources().getDimensionPixelSize(temp); } catch (Exception e) { e.printStackTrace(); } return statusBarHeight; } 点击hide按钮进入沉浸模式,也就是隐藏状态栏,隐藏状态栏的同时我们需要修改Toolbar的上内边距,否则会显得很难看,这里注册一个监听,当进入沉浸模式后我们改变Toolbar的上内边距 ? hide.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { View view = getWindow().getDecorView(); hideSystemUI(view); mToolbar.set(new View.() { @Override public void onSystemUiVisibilityChange(int visibility) { mToolbar.setPadding(mToolbar.getPaddingLeft(), 0,mToolbar.getPaddingRight(), mToolbar.getPaddingBottom()); } }); } }); 进入沉浸模式后,手指从屏幕顶部向下划,状态栏就出现了,过2秒左右它又会自动消失。 点击show按钮退出沉浸模式,同时Toolbar的内边距也要增加到状态栏的高度。 ? show.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { View view = getWindow().getDecorView(); showSystemUI(view); mToolbar.set(new View.() { @Override public void onSystemUiVisibilityChange(int visibility) { mToolbar.setPadding(mToolbar.getPaddingLeft(), getStatusBarHeight(MainActivity.this),mToolbar.getPaddingRight(), mToolbar.getPaddingBottom()); } }); } }); 如果使用的是SystemBarTintManager这个类进行的状态栏的着色,除上方的操作外,还要在对应的监听里增加状态栏着色的禁止和启动的功能。 进入沉浸模式,要禁用 ? tintManager.setStatusBarTintEnabled(false); 退出沉浸模式,要启动 ? tintManager.setStatusBarTintEnabled(true); 如果你想更加平滑,则可以对padding的改成增加动画,具体动画效果自行添加。

9. AS3限制android滑动范围,或滚动菜单的制作方法~菜鸟血泪求教!!

你老板确实无良啊。不过对你也是个机会,公司创建条件,你多学点东西也是好的。

个人给你一点建议,不要用flash来实现这个功能,用flex去写会容易很多(flex上没有时间轴的概念,估计你也要郁闷一会)。创建一个手机工程,然后用list可以很轻松实现,稍微做点改动就能实现你要的效果。或者实在做不了,让你老板2000块钱包出去,有的是人做

10. android studio侧滑drawerlayout怎么加入几个button在侧滑栏里

很简单,你的双脚没有保持平行一直线上。 或者你侧滑之前有旋转动作!

热点内容
python解压zip 发布:2025-02-12 09:08:46 浏览:921
如何加强人员配置 发布:2025-02-12 09:07:54 浏览:417
lol一区为什么服务器好卡 发布:2025-02-12 09:02:22 浏览:629
安卓运营商cm是哪个版本 发布:2025-02-12 09:00:00 浏览:515
pythonmd5校验 发布:2025-02-12 08:51:00 浏览:470
编程题解析 发布:2025-02-12 08:40:30 浏览:454
bilibi手机缓存目录在 发布:2025-02-12 08:33:11 浏览:458
听ti密码是多少 发布:2025-02-12 08:22:15 浏览:289
淘宝上传视频凭证 发布:2025-02-12 08:06:46 浏览:879
java画 发布:2025-02-12 08:01:00 浏览:550