android-Android addview自定义控件不显示问题

问题描述

Android addview自定义控件不显示问题

为什么我在onCreat中addview一个自定义控件能够正常显示,但是在onWindowsFoucsChanged里面addview总是显示不出来

解决方案

你可以在oncreate 中 添加 然后再 onWindowFocusChanged 中设置 宽高

解决方案二:

把进去的view,addview之前,先用view.merits(0,0)测量一下,再加进去

解决方案三:

把进去的view,addview之前,先用view.measure(0,0)测量一下,再加进去

解决方案四:

把代码贴出来看看,onWindowsFoucsChanged是你自己定义的方法吧,你有没有调用了呢?没有调用肯定是不显示的,onCreate()在创建活动是时候自动调用,详细看activity的生命周期

解决方案五:

Android自定义控件-AddView
用户自定义控件 界面 不显示问题
自定义控件在sumsung手机上第一次显示 第二次 不显示子控件的问题解决

解决方案六:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    Circleview av = new Circleview(this, 360, 468, 150);
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    cl = (LinearLayout) findViewById(R.id.cl);
    cl.addView(av);
}

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    cl = (LinearLayout) findViewById(R.id.cl);
    w = cl.getWidth() / 2;
    h = cl.getTop() + cl.getHeight() / 2;
    av = new Circleview(this, w, h, 150);
    cl.addView(av);
    super.onWindowFocusChanged(hasFocus);
}

解决方案七:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    Circleview av = new Circleview(this, 360, 468, 150);
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    cl = (LinearLayout) findViewById(R.id.cl);
    cl.addView(av);
}

@Override
public void onWindowFocusChanged(boolean hasFocus) {
cl = (LinearLayout) findViewById(R.id.cl);
w = cl.getWidth() / 2;
h = cl.getTop() + cl.getHeight() / 2;
av = new Circleview(this, w, h, 150);
cl.addView(av);
super.onWindowFocusChanged(hasFocus);
}

解决方案八:

代码看起来没有问题,你知道什么时候触发这个方法吗?

解决方案九:

因为从onWindowFocusChanged被执行起,用户可以与应用进行交互 ,是真正visible的时间点,已经加载完毕

解决方案十:

你添加进去了,但是没有告诉显示多大,再设置一个布局参数进去吧。

时间: 2024-10-03 12:32:33

android-Android addview自定义控件不显示问题的相关文章

Android 自定义控件实现显示文字的功能

Android 自定义控件实现显示文字的功能 自定义控件-–逐个显示文字 ONE Goal ,ONE Passion ! 前言: 今天要实现的效果时.让我们的文字一个一个显示出来.上效果图吧: 实现原理: 1,拿到要显示的文字. 2,计算文字显示的速率 字体显示的速度 v = 总的字体长度 / 总的显示时间 3,将文字根据速率显示到控件上. 自定义View: public class printTextView extends TextView { /** * 字体显示出来的时间 */ priv

Android开发之自定义控件用法详解_Android

本文实例讲述了Android开发之自定义控件用法.分享给大家供大家参考,具体如下: 今天和大家分享下组合控件的使用.很多时候android自定义控件并不能满足需求,如何做呢?很多方法,可以自己绘制一个,可以通过继承基础控件来重写某些环节,当然也可以将控件组合成一个新控件,这也是最方便的一个方法.今天就来介绍下如何使用组合控件,将通过两个实例来介绍. 第一个实现一个带图片和文字的按钮,如图所示: 整个过程可以分四步走.第一步,定义一个layout,实现按钮内部的布局.代码如下: custom_bu

Android使用addView动态添加组件的方法_Android

在项目开发中,我们经常需要进行动态添加组件,其中可添加的部分有两项:布局和组件  其中,添加的布局主要有RelativeLayout型(相对布局)的和LinearLayout(线性布局) 添加的组件主要有文本显示框,编辑框,按钮等组件.  下面,就让我们来进行实现: 首先我们创建一个新的项目,删除MainActivity.class中没有的代码,仅留下protected void onCreate(Bundle savedInstanceState)函数往布局文件中添加一个新的组件: 1. ad

浅析Android手机卫士自定义控件的属性_Android

推荐阅读:浅析Android手机卫士关闭自动更新 上一节完成的自定义组合控件,灵活性不够,控件的显示信息上,仿照系统属性,自定义自己的属性 上一节组合控件SettingItemView中有三个控件,分别是TextView大标题,TextView描述,CheckBox复选框 自定义属性 tsh:title="大标题" 和tsh:desc_on="小标题开启",tsh:desc_off="小标题关闭" 添加命名空间,xmlns:tsh="h

浅析Android手机卫士自定义控件的属性

推荐阅读:浅析Android手机卫士关闭自动更新 上一节完成的自定义组合控件,灵活性不够,控件的显示信息上,仿照系统属性,自定义自己的属性 上一节组合控件SettingItemView中有三个控件,分别是TextView大标题,TextView描述,CheckBox复选框 自定义属性 tsh:title="大标题" 和tsh:desc_on="小标题开启",tsh:desc_off="小标题关闭" 添加命名空间,xmlns:tsh="h

Android编程实现Toast只显示最后一条的方法

本文实例讲述了Android编程实现Toast只显示最后一条的方法.分享给大家供大家参考,具体如下: 在做Android开发中,时不时的可能会用到Toast,但用Toast的时候,连续使用会存在一个问题,就是一条条显示Toast.而不是直接显示最后一条.因此,根据此需求,现在写了ToastUtil这个类,该类中有三个方法供选择. ToastUtil.Java import android.content.Context; import android.graphics.PixelFormat;

tablet-在 android 平板上的动画显示错误

问题描述 在 android 平板上的动画显示错误 我开发一个android程序,开始于启动画面.程序在模拟器和真机上可以运行,但是平板上不行. package com.example.project; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Window; import an

Android 自定义一个可以展开显示更多的文本布局

在查阅其他博主的博文中,发现了一个比较不错的文本伸展的效果,在此借鉴学习.可以先看看到底是什么样的效果 看起来很眼熟吧,很多应用中都有这样的使用场景,其实就是控制textview的maxlines属性,来做的.在这里就简单的说下定义的过程 1.stretchy_text_layout.xml --这是创建一个布局,用来装裱以上展示的控件 [html] view plain copy <?xml version="1.0" encoding="utf-8"?&g

Android 个人理财工具六:显示账单明细 下_Android

     上一节的显示账单明细 上中,账单明细的显示已经基本实现,本文主要整理下代码,实现此窗口的查询和删除功能:按下Menu菜单时弹出选择月份的窗口,可选择明细的月份:在ListView上长按可弹出确认删除的对话框,以完成删除.        下面上图:        这里面有个OnItemLongClickListener 事件,这个事件的用法如下:        首先activity 里面implements OnItemLongClickListener,然后如下面的代码所写: Java