首页 > TAG信息列表 > setContentView

setContentView源码分析

当我们在Activity中调用setContentView,它到底做了什么呢 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } 我们跳转到AppCompatActivity的setContentView方法 @Override public

ViewBinding简单使用

官方文档:https://developer.android.google.cn/topic/libraries/view-binding?hl=zh-cn#java 在app module下的build.gradle文件中,添加ViewBinding配置: viewBinding { enabled = true } 如下图: rebuild一下,自动生成ActivityMainBinding.java MainActivi

Android BottomSheetDialog简单使用

第一步: 新建一个dialog.xml布局,具体可以自己设计 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_

Android中AppCompatActivity的setContentView方法分析

PS:本文系转载文章,阅读原文可读性会更好些,原文链接:https://mp.weixin.qq.com/s/uTBv_evqvpetO0F8pWXY1Q ps:源码是基于 android api 27 来分析的 前面写了一篇Android中Activity的setContentView方法分析,这一篇打算写对 AppCompatActivity 的setContentView 方法进行分析,AppCom

2021-10-14 Android APP Activity与AppCompatActivity 软件动态去掉标题栏

一、AppCompatActivity去标题栏 1.代码中实现,这里有两种方式 //方式一:这句代码必须写在setContentView()方法的后面 getSupportActionBar().hide(); //方式二:这句代码必须写在setContentView()方法的前面 supportRequestWindowFeature(Window.FEATURE_NO_TITLE); 二、Activit

Android setContentView源码阅读

阅读源码查看系统如何加载布局 Acticity setContentView源码阅读 public void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutResID); initWindowDecorActionBar(); } 点击去发现是个抽象类 public abstract v

数据绑定 DataBinding

一: 在activity里 binding = DataBindingUtil.setContentView(this, R.layout.activity_main) = binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) 二:在RecyclerView的onCreateViewHolder里,不能使用: val binding = RecyclerViewIt

LayoutInflater.inflate()总结

1. 什么是LayoutInflater?  一个布局的xml一般可以调用Activity的setContentView()加载布局,然后把它显示到屏幕上,其实它底层就是Android系统服务中的LayoutInflater(布局服务),用的Android内置的Pull解析器来解析布局。一般在Android动态加载布局或者添加控件用得较多。 ​ Layo

一手遮天 Android - view(布局类): setContentView() 和 addContentView()

项目地址 https://github.com/webabcd/AndroidDemo 作者 webabcd 一手遮天 Android - view(布局类): setContentView() 和 addContentView() 示例如下: /view/layout/ContentViewDemo1.java /** * 演示 setContentView() 和 addContentView() 的用法 */ package com.webabcd.an

Activity的setContentView()

  1.调用的是PhoneWindow的setContentView PhoneWindow.java @Override public void setContentView(int layoutResID) { // Note: FEATURE_CONTENT_TRANSITIONS may be set in the process of installing the window // decor, when theme attributes

【Android初级】使用setContentView实现页面的转换效果(附源码)

一提到Android中页面的切换,你是不是只想到了startActivity启动另一个Activity? 其实在Android中,可以直接利用setContentView达到类似页面转换效果的!实现思路如下: 在第一个Activity的布局中添加一个Button,实现点击事件 点击该Button,调用setContentView,传入第二个页面的Layout,第二个

横竖屏切换

我是参考这篇文章 :https://www.jianshu.com/p/dbc7e81aead2 主要是布局分横竖屏   然后再java代码  Configuration cf = this.getResources().getConfiguration(); int ori = cf.orientation; if (ori == cf.ORIENTATION_LANDSCAPE) { setConten

SwipeRefreshLayout只能托管一个直接子代

我在listView中添加了一个“拉动刷新”,当列表为空时,我还想添加一个空视图-现在出现此错误.我该如何工作?如果我将视图放置在swipeRefresh之外,然后将其添加为emptyView,它将起作用.那么,如何使用外部xml文件呢? xml代码: <android.support.v4.widget.SwipeRefreshLayout

全屏Activity的实现(去除标题栏、去除系统状态栏)

去除安卓系统顶部状态栏: requestWindowFeature一定要在setContentView之前调用: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULL

setContentView是如何把布局加上去的

setContentView是如何把布局加上去的 在Android开发中,最常见的代码就是setContentView,然后传入你写的布局ID,那么布局就被加载到界面中了,系统究竟是怎么被加到界面中的,就需要通过源码来查看了。 点击setContentView方法,进去会发现调用了以下的代码 public void setContentVie

从setContentView()谈起

原文链接:http://www.cnblogs.com/GMCisMarkdownCraftsman/p/3754407.html 从setContentView()谈起 本文主要讲解View或者ViewGroup是如何添加到应用程序的窗口中的。 1. 最简单的Activity 一个Activity最简单的结构是如下: public class MainActivit

android – Drawable已经属于另一个所有者但不暴露常量状态

错误:添加到LayerDrawable的无效drawable! Drawable已经属于另一个所有者但不暴露常量状态. 我今天突然发现了这个错误,我不确定是不是因为我刚刚将我的测试设备更新到Android 8.0.错误消息清楚地表明在浮动动作按钮上设置涟漪效果有问题,并且按下按钮时确实没有涟漪效应.但是,我不确

DataBinding的用法

  一、基本介绍 DataBinding数据绑定库是一种支持库,借助该库,可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。这是官方给出的介绍。 那么为什么要使用DataBinding? 首先,再也不需要使用findViewById()来初始化控件了; 另外,更新UI不再需要切换到UI线程,而是可

线程池FixedThreadPool

可重用线程池,只有核心线程,并发无阻塞, public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); f

线程池ThreadPoolExecutor

开启三个核心线程,一共五个线程,任务过多就启用另两个线程,如果还不够用,就会任务等待,或抛出异常, public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

设置activity主题theme以及沉浸式之类的操作为啥放置再setContentView之前执行

  1.从setContenView入口看源码 ----> installDecor ---> generatorDecor  generatorLayout(改方法中读取manifest中对activity设置的主题以及对window的一些其他操作,比如window背景透明等等) --->返回id为content的顶层控件framelayout

1.认识Activity

认识Android中的Activity 1.Activity是什么? 一个界面 2.Activity绑定自定义视图 通过Activity的setContentView(int viewId)函数绑定一个视图