在Android中可以设置视图的绝对位置吗?(我知道有一个AbsoluteLayout
,但它已被弃用...)
例如,如果我有一个240x320px的屏幕,我如何添加一个20x20px的ImageView
,使其中心位于(100,100)位置?
发布于 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的布局。
发布于 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);
https://stackoverflow.com/questions/3294590
复制相似问题