1. //主布局 1
  2.  
  3. <?xml version="1.0" encoding="utf-8"?>
  4. <android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:id="@+id/spl"
  6. xmlns:tools="http://schemas.android.com/tools"
  7. android:layout_width="match_parent"
  8. android:layout_height="match_parent"
  9. tools:context="com.example.yzj.android_8_2.MainActivity">
  10.  
  11. <fragment
  12. android:id="@+id/fragment_left"
  13. android:name="com.example.yzj.android_8_2.LeftFragment"
  14. android:layout_width="100dp"
  15. android:layout_height="match_parent"/>
  16.  
  17. <fragment
  18. android:id="@+id/fragment_right"
  19. android:name="com.example.yzj.android_8_2.RightFragment"
  20. android:layout_width="match_parent"
  21. android:layout_height="match_parent"/>
  22.  
  23. </android.support.v4.widget.SlidingPaneLayout>
  1. //左边的侧边栏布局
    <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent">
  5.  
  6. <ListView
  7. android:id="@+id/lv"
  8. android:entries="@array/webSite"
  9. android:layout_width="match_parent"
  10. android:layout_height="match_parent"></ListView>
  11.  
  12. </LinearLayout>
  1. //右边的webview布局
    <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent">
  5.  
  6. <WebView
  7. android:id="@+id/wv"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"></WebView>
  10. </LinearLayout>
  1. //主类
    package com.example.yzj.android_8_2;
  2.  
  3. import android.support.v4.widget.SlidingPaneLayout;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.webkit.WebSettings;
  7. import android.webkit.WebView;
  8. import android.webkit.WebViewClient;
  9.  
  10. public class MainActivity extends AppCompatActivity implements LeftFragment.setWebsite{
  11. SlidingPaneLayout spl ;
  12. @Override
  13. protected void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.activity_main);
  16. init();
  17. }
  18.  
  19. private void init() {
  20. spl=(SlidingPaneLayout)findViewById(R.id.spl);
  21. spl.closePane();
  22. changeWebsite("http://www.baidu.com");//设置初始的webview界面为baidu
  23. }
  24. //重写方法设置webview显示界面
  25. @Override
  26. public void changeWebsite(String url) {
  27. RightFragment rf = (RightFragment) MainActivity.this.getSupportFragmentManager().findFragmentById(R.id.fragment_right);
  28. WebView webView = rf.getView();
  29. WebSettings settings = webView.getSettings();
  30. settings.setJavaScriptEnabled(true);
  31. WebViewClient client = new WebViewClient();
  32. webView.setWebViewClient(client);
  33. webView.loadUrl(url);
  34. }
  35. }
  1. package com.example.yzj.android_8_2;
  2.  
  3. import android.app.Activity;
  4. import android.content.Context;
  5. import android.os.Bundle;
  6. import android.support.annotation.Nullable;
  7. import android.support.v4.app.Fragment;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.AdapterView;
  12. import android.widget.ListView;
  13.  
  14. /**
  15. * Created by YZJ on 2016/8/2.
  16. */
  17. public class LeftFragment extends Fragment{
  18. private setWebsite website;
  19. private ListView lv;
  20. @Nullable
  21. @Override
  22. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  23. View root=inflater.inflate(R.layout.layout_left,null);
  24. init(root);
  25. return root;
  26. }
  27.  
  28. private void init(View root) {
  29. lv=(ListView)root.findViewById(R.id.lv);
  30. lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  31. @Override
  32. public void onItemClick(AdapterView<?> paren, View view, int position, long id) {
  1. switch(position){
  2. case 0:
  3. website.changeWebsite("http://www.sina.com");
  4. break;
  5. case 1:
  6. website.changeWebsite("http://www.qq.com");
  7. break;
  8. case 2:
  9. website.changeWebsite("http://www.163.com");
  10. break;
  11. case 3:
  12. website.changeWebsite("http://www.taobao.com");
  13. break;
  14. }
  15. }
  16. });
  17. }
  18.  
  19. @Override
  20. public void onAttach(Context context) {
  21. super.onAttach(context);
  22. website=(setWebsite)context;//把activity向下转型成我们定义的接口,注意这里要强转
  23. }
  24. //创建回调接口,来回调mainactivity
  25. public interface setWebsite{
  26. public void changeWebsite(String url);
  27. }
  28. }
  1. package com.example.yzj.android_8_2;
  2.  
  3. import android.os.Bundle;
  4. import android.support.annotation.Nullable;
  5. import android.support.v4.app.Fragment;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.webkit.WebView;
  10.  
  11. /**
  12. * Created by YZJ on 2016/8/2.
  13. */
  14. public class RightFragment extends Fragment{
  15. private WebView wv;
  16. @Nullable
  17. @Override
  18. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  19. View root=inflater.inflate(R.layout.layout_right,null);
  20. init(root);
  21. return root;
  22. }
  23.  
  24. private void init(View root) {
  25. wv=(WebView)root.findViewById(R.id.wv);
  26. }
  27.  
  28. public WebView getView(){//返回rightfragment的webview
  29. return wv;
  30. }
  31. }

  以上就是android侧边栏的全部代码,测试成功的图片由于我是真机调试,就不贴了...

Android实现侧边栏SlidingPaneLayout的更多相关文章

  1. android DrawerLayout 侧边栏实现

    现在实现侧边栏比较简单了,官方提供的DrawerLayout可以很方便实现. 主要实现方法是:用DrawerLayout 作为界面根控件.在DrawerLayout里面第一个View为当前界面主内容: ...

  2. Android中禁止SlidingPaneLayout的侧滑功能

    Android中使用android.support.v4.widget.SlidingPaneLayout实现侧滑功能的时候,可能出现滑动屏幕时与SlidingPaneLayout的侧滑发生冲突,查看 ...

  3. Android App 侧边栏菜单的简单实现

    效果图 Layout 注意事项 想要实现侧边栏,需要配合使用DrawerLayout.因为会用到嵌套布局,所以根布局不能是 ConstraintLayout,最好使用 LinearLayout 布局. ...

  4. 利用SlidingPaneLayout实现侧滑

    利用SlidingPaneLayout实验仿QQ侧滑效果 1.效果图            2.布局文件 <?xml version="1.0" encoding=" ...

  5. android侧滑菜单笔记

    一.SlidingPaneLayout v4包下的控件,使用简单,功能简洁.官方文档明确说明该控件只能左侧滑动.使用如下: <android.support.v4.widget.SlidingP ...

  6. 我的Android进阶之旅------>解决Android Studio编译后安装apk报错:The APK file does not exist on disk

    1.错误描述 今天用Android Studio编译应用后安装APK的时候,报错了,错误如下所示: The APK file build\outputs\apk\OYP_2.3.4_I2Base_64 ...

  7. React Native项目组织结构介绍

    代码组织: 目录结构: . ├── components //组成应用的各个组件 │   ├── Routers.android.js //每个组件若实现不一样,分为android的实现和ios的实现 ...

  8. Android UI开发第三十四篇——SlidingPaneLayout

    SlidingPaneLayout也是系统支持的高级控件,是Android团对在2013 google IO大会期间更新的Support库(Version 13)中新加入的重要的功能.它支持左右滑动菜 ...

  9. Android 侧边栏(使用Support Library 4提供的扩展组件)

    本文转自:http://www.apkbus.com/android-117148-1-1.html 写在前面的话:接触Android已经有一段时间了,自己积累的东西也算蛮多的.总结以往的经验,凡是关 ...

随机推荐

  1. OracleConnection is obsolete

    用EF搞Oracle的 fake CodeFirst 时,一直报错以下错误: 对类型“System.Data.OracleClient.OracleConnection”的存储区提供程序实例调用“ge ...

  2. windows7查看最近使用记录

    1.看计算机在哪天运行过~运行了多久! C:\Windows\SchedLgU.txt 2.看你最近运行过什么程序: C:\Windows\Prefetch 3.看你最近打开过什么文件(非程序)和文件 ...

  3. session和cookie的区别

    cookie机制和session机制的区别     具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.     同时我们也看到,由于才服务器 ...

  4. Android知识——ViewHolder的作用与用法

    ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能.在android开发中Listview是一个很重要的组件,它以列表的形式 ...

  5. Ubuntu14.04、win7双系统如何设置win7为默认启动项

    Ubuntu14.04.win7双系统如何设置win7为默认启动项 Ubuntu14.04.win7双系统设置win7为默认启动项方法: 在启动项选择菜单处记住windows 7对应的序号. 从上至下 ...

  6. LINQ系列:LINQ to XML操作

    LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...

  7. 推荐21款最佳 HTML5 网页游戏

    尽管 HTML5 的完全实现还有很长的路要走,但 HTML5 正在改变 Web,未来 HTML5 将把 Web 带入一个更加成熟和开放的应用平台.现在,越来越多的人尝试用 HTML5 来制作网页游戏等 ...

  8. jQuery-easyui实现关闭全部tabs

    有时候当我们打开很多tabs选项卡时,要关闭它只能一个一个的进行关闭,显然太麻烦,这时可以在选项卡的最右边添加一个按钮 实现关闭全部. function openTab(text, url, icon ...

  9. jQuery.unique引发一个血案

    项目开发过程中,PM说系统只要在一个特定的浏览器中运行就好,但是在其他的浏览器中不能出现逻辑的错误,所以在开发过程中,前端和后台选择是Chrome浏览器,没有仔细测试Firefox和IE.但是昨天PM ...

  10. PHP中MySQL操作

    本次使用的demo是MySQL的示例数据库employees,点击下载地址,注意在导入的时候,在employees.sql文件中,将source改成你当前的目录. PHP中的demo代码可以在ideo ...