Fragment横竖屏切换
竖屏
横屏
程序结构
创建一个横屏LinearLayout
public class ContentActivity extends FragmentActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.content_ping);}}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal" android:layout_width="match_parent"android:layout_height="match_parent"android:weightSum="2"><fragmentandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="0.5"android:tag="lift"android:name="project.li.com.a06_hengping.LeftFragment"></fragment><fragmentandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="2"android:tag="content"android:name="project.li.com.a06_hengping.ContentPing"></fragment>
</LinearLayout>
entPing.java
public class ContentPing extends Fragment{private TextView textView;@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view=inflater.inflate(R.layout.content_ping,null);//textView=view.findViewById(R.id.contentPingTextView);return view;}public void setIndex(int index){Log.v("wang","index = "+index);textView.setText("点击了"+index);}
}
public interface IOnclickIndex {void onClick(int index);
}
public class LeftFragment extends Fragment {private ArrayList<String> list;private ListView mListView;private IOnclickIndex iOnclickIndex;@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = inflater.inflate(R.layout.lift_layout,null);mListView=view.findViewById(R.id.listView);return view;}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);list=new ArrayList<String>();initData();iOnclickIndex=(IOnclickIndex) getActivity();}//初始化数据private void initData(){for (int i=1;i<51;i++){list.add("测试"+i);}MyAdapter myAdapter = new MyAdapter(list);mListView.setAdapter(myAdapter);mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {iOnclickIndex.onClick(i);}});}
}
public void onClick(int index) {Intent intent = new Intent(this,ContentActivity.class);startActivity(intent);}
}
public class MyAdapter extends BaseAdapter {ArrayList<String> list;public MyAdapter(ArrayList<String> list){this.list=list;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) {LayoutInflater inflter = LayoutInflater.from(viewGroup.getContext());View vies=inflter.inflate(R.layout.list_text_view,null);TextView textView=vies.findViewById(R.id.list_text_view);textView.setTextSize(30);textView.setText(""+list.get(i));return vies;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int i) {return list.get(i);}@Overridepublic long getItemId(int i) {return i;}}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><fragmentandroid:layout_width="match_parent"android:layout_height="match_parent"android:name="project.li.com.a06_hengping.LeftFragment"android:tag="liftn"></fragment></LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal" android:layout_width="match_parent"android:layout_height="match_parent"android:weightSum="2"><fragmentandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="0.5"android:tag="lift"android:name="project.li.com.a06_hengping.LeftFragment"></fragment><fragmentandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="2"android:tag="content"android:name="project.li.com.a06_hengping.ContentPing"></fragment>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/colorAccent"></LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent" android:layout_height="match_parent"><TextViewandroid:id="@+id/contentPingTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="50sp"android:layout_centerInParent="true"/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><ListViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/listView"></ListView>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent">
<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/list_text_view"/>
</LinearLayout>
Fragment横竖屏切换相关推荐
- Fragment 横竖屏切换问题
在默认情况下当发生横竖屏切换时,当前Activity中的fragment都会通过Fragment.instantiate重新生成,该方法将使用默认的构造函数来生成相应的Fragment,所以如果没有默 ...
- Android 横竖屏切换
2019独角兽企业重金招聘Python工程师标准>>> Android开发中,大多APP可能根据实际情况直接将APP的界面方向设死了,或竖屏或横屏.但是,我们还是会遇到横竖屏切换的功 ...
- android切换横竖,Android横竖屏切换工具
Android在横竖屏切换的时候有很多细节需要处理,尤其做视频播放的时候,下面的工具类能较完美的解决横竖屏切换场景,不管是Activity和Fragment都能灵活控制,用法简单. 1.在系统屏幕旋转 ...
- Compose 横竖屏切换时状态如何保存?rememberSaveable 实现原理分析
前言 在这篇文章中提到了 Navigation 的状态保存实际是由 rememberSaveable 实现的,有同学反馈希望单独介绍一下 rememberSaveable 的功能及实现原理.我们都知道 ...
- widget中自动横竖屏切换时的问题
首页 Android开发者社区 Android百科 极客学院 开启辅助访问 打卡签到 我要上头条 如何赚e币 注册验证问题 版主申请 切换到宽版 帐号 自动登录 找回密码 密码 登录 加入eoe ...
- android 图片横竖判断_Android横竖屏切换及其对应布局加载问题详解
本文为大家分享了Android横竖屏切换及其对应布局加载问题,供大家参考,具体内容如下 第一,横竖屏切换连带横竖屏布局问题: 如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同 ...
- android横竖屏切换生命周期
前段时间在做项目的时候发现一个很奇怪的现象,在应用中按下锁屏键后再解锁,发现应用自动结束了.一开始以为是占用内存太多系统结束了应用,后来感觉这个很影响用户体验,决定自己查一下这个问题的根源. 仔细阅读 ...
- android的横竖屏切换,Android横竖屏切换 初步探究
当手机横竖屏切换的时候,activity,默认会重新走一遍生命周期,即销毁当前,然后重新创建 首先,很多软件在设计和开发中为了避免横竖屏切换时引发不必要的麻烦,通常需要让App禁止掉横竖屏的切换,这就 ...
- android 模拟器横竖屏切换
android 模拟器横竖屏切换 今天在做android实验的时候,由于遇到要横竖屏切换,所以去网上找了一下这样的方法: 找到以下方法: 1.通过ctrl + F11 或者 ctrl + ...
最新文章
- win10 调用计算机,Win10系统打开此电脑提示正在处理它解决方法
- 软件测试面试必备的一些基础理论概念
- visualSVN下载与安装
- Android开发之高德地图无法显示地图的原因
- 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步...
- CSDN《某一程序员竟然吃过shi?让我们走进他的生活,揭露背后的故事》
- jsp mysql servlet_JSP+Servlet+JDBC+mysql实现的学生成绩管理系统
- java中接口有什么作用?请创建一个接口(举例)
- mysql半连接_MySQL优化案例:半连接(semi join)优化方式导致的查询性能低下(转载)...
- 25 岁的老 Delphi,还值得程序员入手吗?
- NAT穿透解决方案介绍
- zTree树形控件讲解
- Bailian2713 肿瘤面积
- 招商银行一网通H5接口调试和测试报告撰写注意事项
- wkhtmltopdf乱码解决方案
- 无监督学习问题可以分为两类问题
- Maven基础——什么是Maven
- 同济大学计算机何良华,同济主持或合作完成的8项目分获教育部高等学校科学研究优秀成果奖一、二等奖...
- 微信7.0后使用百度地图JS API定位错误
- Oauth2.0的认证登录
热门文章
- java中easyUI开发环境搭建
- 人脸识别案例(人脸采集)
- Detour使用说明
- 牛客练习赛63 F.牛牛的树行棋(启发式合并+sg打表)
- TVM Relay Pass探究
- 高数:微分 函数图像 曲率
- python自动售货机_自动售货机支付系统详解
- Flutter Dart 正则RegExp [.....]和[^.....](一)
- ArcGIS Pro工具一部分解释
- scala中的高阶函数_Scala中的高阶函数(HOF)