如何改变控件大小,使其大于超出屏幕大小?
答案:2 悬赏:0 手机版
解决时间 2021-01-26 00:12
- 提问者网友:半生酒醒
- 2021-01-25 02:25
LayoutParams params = (RelativeLayout.LayoutParams)_surfaceview.getLayoutParams(); params.width =100;params.height =100; _surfaceview.setLayoutParams(params);我的修改代码如上.正常运行,但当我把width 和 height 设置成超出屏幕大小的数值就被忽略了(没能修改到)我第一次发贴,还请求好人帮帮忙...怎么样才能把尺寸修改到大于屏幕?
最佳答案
- 五星知识达人网友:狂恋
- 2021-01-25 03:11
本以为问题解决了....其实没有, 我发觉我LINEARLAYOUT里面再放一个RELATIVELAYOUT的话,就无法改超出屏幕大小了...
全部回答
- 1楼网友:鸠书
- 2021-01-25 03:25
可以通过给控件注册监听视图树的观察者来获取控件的大小
代码如下
public class mainactivity extends activity {
private textview tv;
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
tv = (textview) findviewbyid(r.id.text);
tv.getviewtreeobserver().addongloballayoutlistener(new ongloballayoutlistener() {
@override
public void ongloballayout() {
//在这里获取到宽高
int width = tv.getmeasuredwidth();
int height = tv.getmeasuredheight();
}
});
}
}viewtreeobserver 是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知。
而ongloballayoutlistener是当在一个视图树中全局布局发生改变或者视图树中的某个视图的可视状态发生改变时的回调接口
获取屏幕宽高代码如下
displaymetrics dm = getresources().getdisplaymetrics();
int screenwidth = dm.widthpixels;//屏幕宽度
int screenheight = dm.heightpixels;//屏幕高度
两者都获取到了,就可以进行判断了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯