问题解决——Group Box控件遮挡其他控件

25 篇文章 0 订阅
14 篇文章 0 订阅

转载请保持文章的完整性并显要地注明出处

本文链接:http://blog.csdn.net/wlsgzl/article/details/38042301

===========================================================================

先上图,无图无真相。

很明显的,左面和右面的遮挡效果不一样。但是,我可以负责任的说,他们的属性都是一样的。

=====================================================================================

发现这个问题很偶然。

一开始我在写一个小例子,界面显示效果是右边的样子,没有多想,然后写了一堆逻辑操作的代码(与界面无关)。

后来打算用别的方法实现下逻辑,又写了一个小例子,结果界面显示效果却是左面的样子。

当我看到界面效果不一样时,当时我就不乐意了,因为我的属性设置都是一样的呀!

于是我又仔细对照了一遍两者的属性,发现他们确实是一样的。

后来……你们不会想知道过程的……我一遍又一遍的重复拖放控件、设置属性、查看效果的过程,终于让我发现了,原来是拖放的顺序导致的。

于是,在这里做个结论,因为毕竟有时候,右边的效果是我们想要的,比方说做取景框的时候。

1、实现左边的效果:

先拖放Group Box控件,后拖放Picture控件

2、实现右边的效果:

先拖放Picture控件,后拖放Group Box控件

---------------------------------------------------------------------------------------------------------------

Picture控件对于这两种顺序的属性设置是一样的:


==================================================================================

至于属性相同但是效果不同的原因,我想,我大致猜测下:

拖放顺序不同导致了写入*.rc文件里时资源定义的顺序不同。当创建界面时,读取的资源顺序不同,导致了绘制时的覆盖。

当然到底是什么原因,这恐怕已经超出了我现有的知识范围,可能看PE文件的相关内容或许有所帮助。

不过这已经不重要了。









--------------------------------穿山甲到底说了什么?------------------------------------


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是三种得到togglegroup选定件值的方法: 1. 使用getCheckedRadioButtonId()方法:可以获取当前togglegroup选中的单选按钮的id,然后使用findViewById()方法来获取单选按钮实例,最后调用getText()方法来获取单选按钮的值。 例如: ``` RadioGroup radioGroup = findViewById(R.id.radioGroup); int selectedId = radioGroup.getCheckedRadioButtonId(); RadioButton selectedRadioButton = findViewById(selectedId); String selectedValue = selectedRadioButton.getText().toString(); ``` 2. 使用OnCheckedChangeListener()监听器:可以在togglegroup中注册OnCheckedChangeListener()监听器,当用户选择不同的单选按钮时,就会触发该监听器,从而获取所选单选按钮的值。 例如: ``` RadioGroup radioGroup = findViewById(R.id.radioGroup); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton selectedRadioButton = findViewById(checkedId); String selectedValue = selectedRadioButton.getText().toString(); } }); ``` 3. 使用遍历方式:可以遍历togglegroup中的所有单选按钮,找出当前选中的单选按钮,然后获取其值。 例如: ``` RadioGroup radioGroup = findViewById(R.id.radioGroup); String selectedValue = null; for (int i = 0; i < radioGroup.getChildCount(); i++) { RadioButton radioButton = (RadioButton) radioGroup.getChildAt(i); if (radioButton.isChecked()) { selectedValue = radioButton.getText().toString(); break; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值