首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >设置视图的绝对位置

设置视图的绝对位置
EN

Stack Overflow用户
提问于 2010-07-21 05:40:21
回答 2查看 276.2K关注 0票数 187

在Android中可以设置视图的绝对位置吗?(我知道有一个AbsoluteLayout,但它已被弃用...)

例如,如果我有一个240x320px的屏幕,我如何添加一个20x20px的ImageView,使其中心位于(100,100)位置?

EN

回答 2

Stack Overflow用户

发布于 2012-01-19 11:02:16

只是为了补充安迪·张上面的答案,如果你愿意,你可以给rl.addView提供参数,然后在以后对它进行修改,所以:

params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 50;
params.topMargin = 60;
rl.addView(iv, params);

同样可以写成:

params = new RelativeLayout.LayoutParams(30, 40);
rl.addView(iv, params);
params.leftMargin = 50;
params.topMargin = 60;

因此,如果您保留params变量,则可以在将其添加到rl之后随时更改iv的布局。

票数 16
EN

Stack Overflow用户

发布于 2015-09-17 17:16:35

尝试使用以下代码在特定位置设置视图:-

            TextView textView = new TextView(getActivity());
            textView.setId(R.id.overflowCount);
            textView.setText(count + "");
            textView.setGravity(Gravity.CENTER);
            textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
            textView.setTextColor(getActivity().getResources().getColor(R.color.white));
            textView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    // to handle click 
                }
            });
            // set background 
            textView.setBackgroundResource(R.drawable.overflow_menu_badge_bg);

            // set apear

            textView.animate()
                    .scaleXBy(.15f)
                    .scaleYBy(.15f)
                    .setDuration(700)
                    .alpha(1)
                    .setInterpolator(new BounceInterpolator()).start();
            FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
                    FrameLayout.LayoutParams.WRAP_CONTENT,
                    FrameLayout.LayoutParams.WRAP_CONTENT);
            layoutParams.topMargin = 100; // margin in pixels, not dps
            layoutParams.leftMargin = 100; // margin in pixels, not dps
            textView.setLayoutParams(layoutParams);

            // add into my parent view
            mainFrameLaout.addView(textView);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3294590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档