ID_ANDROID_CONTENT

原创 2015年11月18日 15:20:49

ID_ANDROID_CONTENT:The ID that the main layout in the XML layout file should have(XML中显示区域根视图的ID值,该视图由系统自动生成,未在XML中定义)


getTop、getBottom、getLeft、getRight:视图相对于父视图的位置


代码实例:

public class MainActivity extends Activity {

TextView mTextView;

Handler mHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

if(msg.what == 0) {

int contentTop1 = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();

Log.e("wangzihan","" + contentTop1);

int contentTop2 = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getBottom();

Log.e("wangzihan","" + contentTop2);

int contentTop3 = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getLeft();

Log.e("wangzihan","" + contentTop3);

int contentTop4 = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getRight();

Log.e("wangzihan","" + contentTop4);

Rect frame = new Rect();

mTextView.getWindowVisibleDisplayFrame(frame);

Log.e("wangzihan"," " + frame.top + "  " + frame.bottom + " " + frame.left + " " + frame.right);

}

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.activity_main);

mTextView = (TextView)findViewById(R.id.a);

mHandler.sendEmptyMessageDelayed(0,1000);

}

}

// requestWindowFeature(Window.FEATURE_NO_TITLE);

// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

输出结果为

204

1920

0

1024

60  1920  0  1024

requestWindowFeature(Window.FEATURE_NO_TITLE);

// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

输出结果:

60

1920

0

1024

60  1920  0  1024


//requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

输出结果为

144

1920

0

1080

0  1920  0  1080


requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

输出结果为

0

1920

0

1080

0  1920  0  1080


int contentTop1 = getWindow().getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();

Log.e("wangzihan","" + contentTop1);


int contentTop2 = getWindow().getWindow().findViewById(Window.ID_ANDROID_CONTENT).getBottom();

Log.e("wangzihan","" + contentTop2);


int contentTop3 = getWindow().getWindow().findViewById(Window.ID_ANDROID_CONTENT).getLeft();

Log.e("wangzihan","" + contentTop3);


int contentTop4 = getWindow().getWindow().findViewById(Window.ID_ANDROID_CONTENT).getRight();

Log.e("wangzihan","" + contentTop4);


Rect frame = new Rect();

mInputView.getWindowVisibleDisplayFrame(frame);

Log.e("wangzihan"," " + frame.top + "  " + frame.bottom + " " + frame.left + " " + frame.right);


Log.e( "wangzihan","" + getWindow().getWindow().getDecorView().getTop() );

Log.e( "wangzihan","" + getWindow().getWindow().getDecorView().getBottom() );

Log.e( "wangzihan","" + getWindow().getWindow().getDecorView().getLeft() );

Log.e( "wangzihan","" + getWindow().getWindow().getDecorView().getRight() );


--------------------------------- 普通activity 有状态栏、标题栏

204

1920

0

1080

60 1920 0 1080

0

1920

0

1080

--------------------------------- 输入法 界面

0

731

0

1080

60 1920 0 1080

0

731

0

1080

getWindow().getWindow().getDecorView().setBackgroundDrawable(getResources().getDrawable(R.drawable.girl));  设置输入法window背景


Android基于Window.ID_ANDROID_CONTENT给定id添加子View

基于Window.ID_ANDROID_CONTENT给定id添加子View这一技术特点在一些视频播放器中比较有用。例如代码:package zhangphil.demo; import andro...
  • zhangphil
  • zhangphil
  • 2017年08月07日 10:46
  • 729

【Android 源码解析】什么是android.R.id.content?

一、为什么要研究android.R.id.content?在研究公司框架层的xxxH5Manager.openURL源码时发现:在Android打开一个h5页面,或者一个hybrid页面,其实就是st...
  • colinandroid
  • colinandroid
  • 2017年08月31日 16:22
  • 1516

Android点滴(二)

如何获取状态栏和标题栏的高度? 1.获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindow...
  • xyz_fly
  • xyz_fly
  • 2012年06月14日 14:51
  • 2543

android状态栏一体化(沉浸式状态栏)

Android 沉浸式状态栏、状态栏一体化、透明状态栏、仿ios透明状态栏  http://blog.csdn.net/jdsjlzx/article/details/50437779 注...
  • jhl122
  • jhl122
  • 2016年09月18日 16:01
  • 1151

Appium Android 元素定位方法 原生+H5

APPIUM Android 元素定位方式,原生+H5 1.定位元素应用元素   1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写...
  • vivian_ljx
  • vivian_ljx
  • 2017年01月13日 16:52
  • 11429

ID_ANDROID_CONTENT

ID_ANDROID_CONTENT:The ID that the main layout in the XML layout file should have(XML中显示区域根视图的ID值,该视...
  • u010080945
  • u010080945
  • 2015年11月18日 15:20
  • 2070

Android基于Window.ID_ANDROID_CONTENT给定id添加子View

这一技术特点在一些视频播放器中比较有用。 例如代码: [java] view plain copy package zhangphil.demo;      import a...
  • swaft
  • swaft
  • 2017年08月12日 16:11
  • 102

android DecorView深入理解

开发中,通常都是在onCreate()中调用setContentView(R.layout.custom_layout)来实现想要的页面布局。页面都是依附在窗口之上的,而DecorView即是窗口最顶...
  • zhangcanyan
  • zhangcanyan
  • 2016年10月30日 17:37
  • 3093

Android 源码解析 之 setContentView

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41894125,本文出自:【张鸿洋的博客】大家在平时的开发中,对于setConte...
  • lmj623565791
  • lmj623565791
  • 2014年12月16日 15:19
  • 33171

android获取根View的方法

差距是需要时间堆积的,坚持学习、坚持锻炼…… 1、获取上级view的方法汇总 2、方法介绍  2.1、getRootView特例 3、使用场景  3.1、状态栏高度  3.2、标题栏高度  3.3、键...
  • lloha
  • lloha
  • 2016年05月25日 10:07
  • 10045
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ID_ANDROID_CONTENT
举报原因:
原因补充:

(最多只允许输入30个字)