Android实现侧边栏SlidingPaneLayout
- //主布局 1
- <?xml version="1.0" encoding="utf-8"?>
- <android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/spl"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context="com.example.yzj.android_8_2.MainActivity">
- <fragment
- android:id="@+id/fragment_left"
- android:name="com.example.yzj.android_8_2.LeftFragment"
- android:layout_width="100dp"
- android:layout_height="match_parent"/>
- <fragment
- android:id="@+id/fragment_right"
- android:name="com.example.yzj.android_8_2.RightFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- </android.support.v4.widget.SlidingPaneLayout>
- //左边的侧边栏布局
<?xml version="1.0" encoding="utf-8"?>- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <ListView
- android:id="@+id/lv"
- android:entries="@array/webSite"
- android:layout_width="match_parent"
- android:layout_height="match_parent"></ListView>
- </LinearLayout>
- //右边的webview布局
<?xml version="1.0" encoding="utf-8"?>- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <WebView
- android:id="@+id/wv"
- android:layout_width="match_parent"
- android:layout_height="match_parent"></WebView>
- </LinearLayout>
- //主类
package com.example.yzj.android_8_2;- import android.support.v4.widget.SlidingPaneLayout;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- public class MainActivity extends AppCompatActivity implements LeftFragment.setWebsite{
- SlidingPaneLayout spl ;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- init();
- }
- private void init() {
- spl=(SlidingPaneLayout)findViewById(R.id.spl);
- spl.closePane();
- changeWebsite("http://www.baidu.com");//设置初始的webview界面为baidu
- }
- //重写方法设置webview显示界面
- @Override
- public void changeWebsite(String url) {
- RightFragment rf = (RightFragment) MainActivity.this.getSupportFragmentManager().findFragmentById(R.id.fragment_right);
- WebView webView = rf.getView();
- WebSettings settings = webView.getSettings();
- settings.setJavaScriptEnabled(true);
- WebViewClient client = new WebViewClient();
- webView.setWebViewClient(client);
- webView.loadUrl(url);
- }
- }
- package com.example.yzj.android_8_2;
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.support.annotation.Nullable;
- import android.support.v4.app.Fragment;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.AdapterView;
- import android.widget.ListView;
- /**
- * Created by YZJ on 2016/8/2.
- */
- public class LeftFragment extends Fragment{
- private setWebsite website;
- private ListView lv;
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View root=inflater.inflate(R.layout.layout_left,null);
- init(root);
- return root;
- }
- private void init(View root) {
- lv=(ListView)root.findViewById(R.id.lv);
- lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> paren, View view, int position, long id) {
- switch(position){
- case 0:
- website.changeWebsite("http://www.sina.com");
- break;
- case 1:
- website.changeWebsite("http://www.qq.com");
- break;
- case 2:
- website.changeWebsite("http://www.163.com");
- break;
- case 3:
- website.changeWebsite("http://www.taobao.com");
- break;
- }
- }
- });
- }
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- website=(setWebsite)context;//把activity向下转型成我们定义的接口,注意这里要强转
- }
- //创建回调接口,来回调mainactivity
- public interface setWebsite{
- public void changeWebsite(String url);
- }
- }
- package com.example.yzj.android_8_2;
- import android.os.Bundle;
- import android.support.annotation.Nullable;
- import android.support.v4.app.Fragment;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.webkit.WebView;
- /**
- * Created by YZJ on 2016/8/2.
- */
- public class RightFragment extends Fragment{
- private WebView wv;
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View root=inflater.inflate(R.layout.layout_right,null);
- init(root);
- return root;
- }
- private void init(View root) {
- wv=(WebView)root.findViewById(R.id.wv);
- }
- public WebView getView(){//返回rightfragment的webview
- return wv;
- }
- }
以上就是android侧边栏的全部代码,测试成功的图片由于我是真机调试,就不贴了...
Android实现侧边栏SlidingPaneLayout的更多相关文章
- android DrawerLayout 侧边栏实现
现在实现侧边栏比较简单了,官方提供的DrawerLayout可以很方便实现. 主要实现方法是:用DrawerLayout 作为界面根控件.在DrawerLayout里面第一个View为当前界面主内容: ...
- Android中禁止SlidingPaneLayout的侧滑功能
Android中使用android.support.v4.widget.SlidingPaneLayout实现侧滑功能的时候,可能出现滑动屏幕时与SlidingPaneLayout的侧滑发生冲突,查看 ...
- Android App 侧边栏菜单的简单实现
效果图 Layout 注意事项 想要实现侧边栏,需要配合使用DrawerLayout.因为会用到嵌套布局,所以根布局不能是 ConstraintLayout,最好使用 LinearLayout 布局. ...
- 利用SlidingPaneLayout实现侧滑
利用SlidingPaneLayout实验仿QQ侧滑效果 1.效果图 2.布局文件 <?xml version="1.0" encoding=" ...
- android侧滑菜单笔记
一.SlidingPaneLayout v4包下的控件,使用简单,功能简洁.官方文档明确说明该控件只能左侧滑动.使用如下: <android.support.v4.widget.SlidingP ...
- 我的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 ...
- React Native项目组织结构介绍
代码组织: 目录结构: . ├── components //组成应用的各个组件 │ ├── Routers.android.js //每个组件若实现不一样,分为android的实现和ios的实现 ...
- Android UI开发第三十四篇——SlidingPaneLayout
SlidingPaneLayout也是系统支持的高级控件,是Android团对在2013 google IO大会期间更新的Support库(Version 13)中新加入的重要的功能.它支持左右滑动菜 ...
- Android 侧边栏(使用Support Library 4提供的扩展组件)
本文转自:http://www.apkbus.com/android-117148-1-1.html 写在前面的话:接触Android已经有一段时间了,自己积累的东西也算蛮多的.总结以往的经验,凡是关 ...
随机推荐
- OracleConnection is obsolete
用EF搞Oracle的 fake CodeFirst 时,一直报错以下错误: 对类型“System.Data.OracleClient.OracleConnection”的存储区提供程序实例调用“ge ...
- windows7查看最近使用记录
1.看计算机在哪天运行过~运行了多久! C:\Windows\SchedLgU.txt 2.看你最近运行过什么程序: C:\Windows\Prefetch 3.看你最近打开过什么文件(非程序)和文件 ...
- session和cookie的区别
cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器 ...
- Android知识——ViewHolder的作用与用法
ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能.在android开发中Listview是一个很重要的组件,它以列表的形式 ...
- Ubuntu14.04、win7双系统如何设置win7为默认启动项
Ubuntu14.04.win7双系统如何设置win7为默认启动项 Ubuntu14.04.win7双系统设置win7为默认启动项方法: 在启动项选择菜单处记住windows 7对应的序号. 从上至下 ...
- LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...
- 推荐21款最佳 HTML5 网页游戏
尽管 HTML5 的完全实现还有很长的路要走,但 HTML5 正在改变 Web,未来 HTML5 将把 Web 带入一个更加成熟和开放的应用平台.现在,越来越多的人尝试用 HTML5 来制作网页游戏等 ...
- jQuery-easyui实现关闭全部tabs
有时候当我们打开很多tabs选项卡时,要关闭它只能一个一个的进行关闭,显然太麻烦,这时可以在选项卡的最右边添加一个按钮 实现关闭全部. function openTab(text, url, icon ...
- jQuery.unique引发一个血案
项目开发过程中,PM说系统只要在一个特定的浏览器中运行就好,但是在其他的浏览器中不能出现逻辑的错误,所以在开发过程中,前端和后台选择是Chrome浏览器,没有仔细测试Firefox和IE.但是昨天PM ...
- PHP中MySQL操作
本次使用的demo是MySQL的示例数据库employees,点击下载地址,注意在导入的时候,在employees.sql文件中,将source改成你当前的目录. PHP中的demo代码可以在ideo ...