SlidingPaneLayout实现QQ5.0侧滑菜单(perfect)
来源:互联网 发布:js检测是否存在指定值 编辑:程序博客网 时间:2024/05/13 21:36
SlidingPaneLayout实现QQ5.0侧滑菜单,我还是废话少说。代码如下:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/sp_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/universe_background_1" > <LinearLayout android:id="@+id/menu_main" android:layout_width="192dp" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="48dp" android:background="#00000000" android:text="Button" android:textColor="#00000000" /> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="48dp" android:background="#00000000" android:text="Button" android:textColor="#ffffff" /> <Button android:id="@+id/button3" android:layout_width="match_parent" android:layout_height="48dp" android:background="#00000000" android:text="Button" android:textColor="#ffffff" /> <Button android:id="@+id/button4" android:layout_width="match_parent" android:layout_height="48dp" android:background="#00000000" android:text="Button" android:textColor="#ffffff" /> <Button android:id="@+id/button5" android:layout_width="match_parent" android:layout_height="48dp" android:background="#00000000" android:text="Button" android:textColor="#ffffff" /> <Button android:id="@+id/button6" android:layout_width="match_parent" android:layout_height="48dp" android:background="#00000000" android:text="Button" android:textColor="#ffffff" /> </LinearLayout> <LinearLayout android:id="@+id/content_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#0c0cbfff" android:gravity="center_vertical" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="content" /> </LinearLayout></android.support.v4.widget.SlidingPaneLayout> <!-- -->
android.support.v4.widget.SlidingPaneLayout实现的是有阴影不可缩放的侧滑菜单("menu_main"的192dp是它划出的最大宽度,可根据自己需求调整,"universe_background_1"一张图片)
package com.example.testslidingmenu;import android.app.Activity;import android.os.Bundle;import android.support.v4.widget.SlidingPaneLayout;import android.support.v4.widget.SlidingPaneLayout.PanelSlideListener;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.widget.LinearLayout;public class MainActivity extends Activity { private SlidingPaneLayout mSlidingPaneLayout; private LinearLayout menu_main, content_main; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView(); } public void initView() {mSlidingPaneLayout = (SlidingPaneLayout) findViewById(R.id.sp_main);menu_main = (LinearLayout) findViewById(R.id.menu_main);content_main = (LinearLayout) findViewById(R.id.content_main);mSlidingPaneLayout.setPanelSlideListener(new PanelSlideListener() { @Override public void onPanelSlide(View arg0, float arg1) {//arg1 缩放范围0-1// TODO Auto-generated method stubmenu_main.setAlpha(arg1);//透明度menu_main.setScaleY(arg1 );//Ymenu_main.setScaleX(arg1 );//Xmenu_main.setPivotX(arg1-48);//基点Xmenu_main.setPivotY(mSlidingPaneLayout.getHeight()/3*2);content_main.setScaleY(1 - arg1 / 5); } @Override public void onPanelOpened(View arg0) {// TODO Auto-generated method stub } @Override public void onPanelClosed(View arg0) {// TODO Auto-generated method stub }}); }}
这样就简单的实现了可缩放的slidingmenu了
寡人看的是英文API,params理解的可能会有误差。代码不多,有点android基础的朋友不难理解,代码就是这些,有兴趣的朋友直接复制即可实现(需要android-support-v4.jar);上次无法缩出屏幕外的问题,解决起来很简单:用“menu_main.setPivotX(arg1-48);”设置下基点,只要保证括号里的params为负就可以在视觉效果上实现缩出屏幕,而“menu_main.setPivotY”的params也可根据需求而定(设置要缩到的position即可);
@author:JRwestbrook(zby)
QQ:990021331
支持原创,转载请注明出处
0 0
- SlidingPaneLayout实现QQ5.0侧滑菜单(perfect)
- 仿QQ5.0侧滑菜单实现
- QQ5.0侧滑菜单实现
- 仿QQ5.0侧滑菜单——抽屉式菜单(简单地实现)
- QQ5.0 新版 侧滑菜单效果实现!
- android 实现仿QQ5.0 侧滑菜单
- 高仿QQ5.0的侧滑菜单的实现
- qq5.0侧滑抽屉式菜单的实现
- 自定义View以及QQ5.0侧滑菜单实现
- 彷QQ5.0侧滑菜单(自定义控件--SlideMenu的实现)
- 继承HorizontalScrollView的QQ5.0侧滑菜单(一)
- 继承HorizontalScrollView的QQ5.0侧滑菜单(二)
- 继承HorizontalScrollView的QQ5.0侧滑菜单(三)
- 仿QQ5.0侧滑菜单【AndroidResideMenu】
- 仿QQ5.0侧滑菜单ResideMenu
- Android QQ5.0侧滑菜单
- 仿QQ5.0的侧滑菜单
- 仿QQ5.0侧滑菜单ResideMenu
- Android手动回收bitmapisRecycled(),引发Canvas: trying to use a recycled bitmap处理
- Linux 查看CPU信息,机器型号,内存等信息
- Java学习 day03
- thinking in java 笔记 思维导图 第一章对象导论
- 新項目遊戲盒子啓始
- SlidingPaneLayout实现QQ5.0侧滑菜单(perfect)
- UBOOT启动过程zz
- 两点间所有路径的遍历算法
- thinking in java 笔记 思维导图 第二章一切都是对象
- hdu5108Alexandra and Prime Numbers(素数的性质)
- UISlider样式修改
- 笨小熊
- python 列表小总结
- thinking in java 笔记 思维导图 第三章操作符