首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏终身开发者

    如何在onCreate中获取View的高度和宽度

    如何在onCreate中获取View的高度和宽度 在开发过程中经常需要获取到View的宽和高,可以通过View.getWidth()和View.getHeight()来得到宽高。 然而新手们经常在onCreate方法中直接调用上面两个方法得到的值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成的,一个measure过程,一个layout过程。 而这一切是发生在onCreate方法之后的。所以在onCreate中直接使用View.getWidth()和View.getHeight()是无法得到正确的值的。 那应该怎么onCreate中获取View的宽高呢? protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState)

    9K20发布于 2019-07-31
  • 来自专栏android自用

    Android接入USB设备后导致Activity重新调用onCreate问题

    解决办法:manifests的所有activity声明,增加configChanges如前文所述。

    87410编辑于 2023-07-31
  • 来自专栏CodingBlock

    在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0?

    在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0 ? @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) ,即使 Activity 回调了 onCreate()、onStart()、onResume() 方法,View 也不一定同步完成绘制,所以此时在这些方法里面获取 View 的尺寸时就获取不到,解决方法有以下几种 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)

    1.9K30发布于 2019-05-25
  • 来自专栏向治洪

    解决在onCreate()过程中获取View的width和Height为0的方法

    那么在onCreate()获取view的width和height会得到0呢,原因是Android的oncreate和onMesure是不同步的,我们在onCreate里面获取的width和height, 针对上面的问题,网上提供了4种解决方案: 1,View.post() 此方法的思路是在onCreate里面执行一个线程,知道获取View的宽高属性。 我们看一下其调用顺序为Activity.oncreate()→Activity.onResume()→ →TestImageView.onMeasure()→TestImageView.onLayout

    1.8K80发布于 2018-02-05
  • 来自专栏全栈程序员必看

    java中的onresume_android onCreate onResume中获取 View 宽高为0分析

    public class MainActivity extends AppCompatActivity { private Button mBtn; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main ); mBtn = (Button) findViewById(R.id.btn); Log.d(“TAG”, “onCreate() button width=” + mBtn.getWidth())

    58820编辑于 2022-09-05
  • 来自专栏计算机工具

    LruCache使用,基本数据类型 & 引用类型,面试==和equals的区别 本质,onCreate 和onResume 区别,

    onCreate 和onResume(恢复,摘要) 区别:https://www.jianshu.com/p/ab8aad800b20 activity生命周期,栈,状态保存:https://www.jianshu.com /p/fd82d18994ce oncreate 就代表了初始化。 所以所有的控件都要在 oncreate 里面初始化。onresume 里面去执行初始化后被展示的时候要进行的行为操作。 onCreate(xxx)初始化,onResume()注册、拉取展示数据,onPause()反注册,onDestroy()释放资源。

    18700编辑于 2024-12-16
  • 来自专栏风吹杨柳

    实现杂记(27):解决在onCreate()过程中获取View的width和Height为0的4种方法

    ://www.cnblogs.com/kissazi2/p/4133927.html 很经常当我们动态创建某些View时,需要通过获取他们的width和height来确定别的view的布局,但是在onCreate 一般来讲在Activity.onCreate(...)、onResume()方法中都没有办法获取到View的实际宽高。

    1.8K20发布于 2019-07-08
  • 来自专栏Android学习之路

    Dagger2使用攻略-基础部分

    () { super.onCreate(); appComponent = DaggerAPPComponent.builder() . : dbmanager:"+dbManager.hashCode()); Log.e(MainActivity.class.getSimpleName(), "onCreate: : appdb-->192114699 onCreate: dbmanager-sintleton->192114699 E/SecondActivity: onCreate: dbmanager-singleton -->229426894 onCreate: dbmanager-sintleton->229426894 onCreate: main-singleton->142055919 E /SecondActivity: onCreate: dbmanager-singleton->229426894 onCreate: main-singleton>241744847 总结 :我们可以通过

    2.1K40发布于 2018-10-10
  • 来自专栏CodingBlock

    Android查缺补漏--ContentProvider的使用

    static final String TAG = UserInfoProvider.class.getSimpleName(); @Override public boolean onCreate () { Log.i(TAG, "onCreate: "); return false; } @Nullable @Override public Button btn_query; Button btn_update; Button btn_delete; @Override protected void onCreate , null, null); showContact += "--id="+ id + " | name=" + name + "--\n"; Log.i(TAG, "onCreate log如下: 12-13 17:19:49.490 14978-14978/cn.codingblock.androidadvancestudy I/ContactProviderActivity: onCreate

    95200发布于 2017-12-28
  • 来自专栏小陈飞砖

    ContentProvider执行时机

    这里先给出源码分析的结论: Application的onAttachContext()先执行 Application 的 onCreate() 方法执行 ContentProvider 的 onCreate ContentProvider.attachInfo ├── ContentProvider.attachInfo ├── ContentProvider.onCreate // 调用 ContentProvider的onCreate方法 ├── Instrumentation.callApplicationOnCreate ├── Application.onCreate //调用Application的onCreate方法 结论: 调用顺序: Application 构造方法 –> Application.attachBaseContext –> ContentProvider.onCreate –> Application.onCreate –> Activity.onCreate

    36320编辑于 2022-09-30
  • 来自专栏开发者技术前线

    AndroidStudio3 支持 Java8 了,就问你敢用吗

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); (Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView( (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); test(() (@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView((int

    1.1K10发布于 2020-11-23
  • 来自专栏向全栈出发

    Activity启动时生命周期汇总

    第一种情况: A—>B—>C A在onCreate时启动B; B在onCreate时启动C; 每个页面均不透明; 04-25 10:14:03.739 6048-6048/com.example.myapplication D/hhhhh: ActivityA onCreate 04-25 10:14:03.749 6048-6048/com.example.myapplication D/hhhhh: ActivityA hhhhh: ActivityA onPause 04-25 10:14:03.849 6048-6048/com.example.myapplication D/hhhhh: ActivityB onCreate 时启动B; B在onCreate时启动C; B页面透明; 04-25 10:18:15.249 6636-6636/com.example.myapplication D/hhhhh: ActivityA onCreate 04-25 10:18:15.249 6636-6636/com.example.myapplication D/hhhhh: ActivityA onStart 04-25 10

    40210发布于 2020-09-10
  • 来自专栏Android 学习、实战

    Android Service 使用

    2.2 编写MyService代码覆写 onCreate()、onStartCommand()、onDestroy() 函数,这里我们对这些函数分别加上日志;函数 onBind() 暂时不做处理。 () { Log.i(TAG, "onCreate()"); super.onCreate(); } @Override public int onStartCommand () { Log.i(TAG, "onCreate()") super.onCreate() } override fun onStartCommand(intent ) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Service只在第一次创建启动的时候调用onCreate()函数,只要该Service还在运行,就不会再次触发onCreate()函数;onStartCommand()函数则在每次启动Service的时候都会调用

    65420编辑于 2023-11-21
  • 来自专栏达达前端

    Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

    activity生命周期逻辑 首先调用onCreate()的方法来创建一个Activity,然后调用onStart()的方法和onResume()的方法,我们才能看到创建的界面。 如:activity -> onCreate()-onStart()-onResume() 凡是调用完这三个方法,才能看见页面即是activity。 @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView MainActivity onStop()放在 SecondActivity onCreate() 之前会导致什么呢,会出现闪退效果的。onStop()调用,后台运行,不会销毁。 调用的方法,由竖屏变化横屏: onCreate()->onStart()->onResume()->onPause()->onStop()->onDestory() onCreate()->onStart

    96630发布于 2019-07-03
  • 来自专栏Android原创

    Android代码上减少方法数的一些奇技淫巧

    场景 先看一个简单的类: public class MainActivity extends AppCompatActivity { @Override protected void onCreate ); } } 按照我们手算出来的方法数是2(一个默认构造器,一个onCreate方法); 那我们使用工具看下这个类的方法数。 (Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView (Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView (Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView

    1.1K60发布于 2018-07-25
  • 来自专栏codelang

    利用 Kotlin inline 解决日志泄漏风险

    { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) this.logE("MainActivity onCreate") } } 反编译看下 Release 包: 为什么 kotlin inline 可以呢? 我来写个转换过程可能方便理解些: //1、 原始调用 override fun onCreate(savedInstanceState: Bundle?) { this.logE("MainActivity onCreate") } //2、kotlin inline 转换 override fun onCreate(savedInstanceState

    49240编辑于 2022-11-30
  • 来自专栏木子杂志

    android JavaPoet记录

    android.os.Bundle; public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate   }    private static void testMainActivity() throws IOException {        //创建方法        MethodSpec onCreate  = MethodSpec.methodBuilder("onCreate")                //添加Override               .addAnnotation(Override.class android.os.Bundle"), "savedInstanceState")                //方法{}的代码               .addStatement("super.onCreate addModifiers(Modifier.PUBLIC, Modifier.FINAL)                // class 添加方法               .addMethod(onCreate

    93810发布于 2020-08-09
  • 来自专栏技术小屋-未分类

    Java——代码块(普通块、构造块、静态块)

    protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 3、静态代码块 如果代码块中使用了static关键字定义,则该代码块为静态代码块: 在非主类中定义的; 在主类中定义的; 【举例】:非主类中定义的静态块 protected void onCreate 在非主类中定义 的静态块,可以用其为static属性初始化,如下: protected void onCreate(Bundle savedInstanceState) { super.onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println(

    3.3K10发布于 2020-09-25
  • 来自专栏nginx遇上redis

    Android多进程4-需要注意的地方

    我们需要面临这样几个问题: 1.Application的多次重建 Manifest文件如上面提到的,定义了两个类:ProcessTestActivity和ProcessTestService,我们只是在Activity的onCreate extends Application { public static final String TAG = "viclee"; @Override public void onCreate onCreate"); Log.d(TAG, "MyApplication pid is " + pid); }} 代码段2: publicclass ProcessTestActivity 我们发现MyApplication的onCreate方法调用了两次,分别是在启动ProcessTestActivity和ProcessTestService的时候,而且我们发现打印出来的pid也不相同。 由于通常会在Application的onCreate方法中做一些全局的初始化操作,它被初始化多次是完全没有必要的。

    82520发布于 2019-10-14
  • 来自专栏站长的编程笔记

    【说站】java中有哪些基本注解

    @Override public void onCreate(Bundle savedInstanceState)   {…….} 这种写法是正确的,如果你写成:   @Override public void oncreate(Bundle savedInstanceState) {…….} 编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method ,以确保你正确重写onCreate方法(因为oncreate应该为onCreate) 而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate 2、

    45340编辑于 2022-11-23
领券