Android下如何取当前获得焦点的控件的ID

Android下如何取当前获得焦点的控件的ID,第1张

Android如何获取动态添加控件的id:

RelativeLayout mainLayout = (RelativeLayout)findViewById(RidrelaGameZhaiGuoZi);

imgApple2 = new ImageView(this);

imgApple2setImageResource(Rdrawableapp);

imgApple2setId(110);

imgApple2setOnClickListener(this);

RelativeLayoutLayoutParams lp1 = new RelativeLayoutLayoutParams(LayoutParamsWRAP_CONTENT, LayoutParamsWRAP_CONTENT);

lp1leftMargin=30;

lp1topMargin = 100;

mainLayoutaddView(imgApple2,lp1);

View类里面有一个findFocus的成员函数,作用相当于找到以当前View为根的view层次结构中,获得当前输入焦点的view 。

设置焦点需要以下几步:

1,打开手机相机,进入设置,打开焦点功能。

2,进入拍照页面,双击屏幕的一个地方,相机就会自动锁定焦点。

3,焦点会带有两个锁定框,一个锁定,一个可以拖动。

4,锁定在屏幕上的锁定框就是焦点,可移动的是进行焦距调节。

多数相机的焦距处理并不明显,直接移动焦点效果会好些。

方向键要触发事件,首先得有控件获取焦点,所以你要让你的控件获取焦点,再次点击方向键的时候就可以触发事件了,可以通过手动的获取焦点,如下:

btn_clicksetFocusable(true);

btn_clicksetFocusableInTouchMode(true);

onKeyDown返回的bool值,表示事件是否上传事件,如果需要上传返回true,反之返回false,这个bool值有你来设定,不管为true,还是为false,都不会影响事件的执行,true和false只是告诉系统,是否把执行后的事件事件传到activity和window中。

在android项目中,一进入一个页面, EditText默认就会自动获取焦点。使用如下的方法可以让EditText无法获取焦点。

解决之道:在EditText的父级控件中设置下面的属性

Android:focusable="true"  

   android:focusableInTouchMode="true"

在window7平台,android studio开发工具下,步骤如下。

1、打开android sutdio并创建一个项目,如下图:

2、打开界面的布局文件,在布局文件中增加一个Edittext的空间,并在EditText的父控件中设置如下属性,即可让EditText无法获取焦点,如下图:

以上就是关于Android下如何取当前获得焦点的控件的ID全部的内容,包括:Android下如何取当前获得焦点的控件的ID、android 中如何设置焦点的位置。、android自定义控件怎么留住焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9507918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存