我想在视图中显示图片,背景无法缩放,因此我使用了imageview。我需要通过代码执行此操作,因此我尝试了以下代码:
View2.setIcon(R.drawable.city3);
View2.getImageView().setScaleType(ImageView.ScaleType.CENTER_CROP);
现在我想把一个textview放在imageview上,在中心,我尝试过多种方式,比如位图或不同的重力,但无法实现,文字低于图像,任何建议?
答案 0 :(得分:1)
尝试使用FrameLayout - 它将布局XML文件中的每个新视图堆叠在前一个视图之上。您可以先声明imageview,然后使用居中重力声明textview。
修改强>:
在Activity的onCreate()中使用此代码:
FrameLayout framelayout = new FrameLayout(this);
framelayout.setLayoutParams(new LayoutParams
(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.image);
iv.setLayoutParams(new LayoutParams
(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
frameLayout.addView(iv);
TextView tv = new TextView(this);
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.CENTER);
tv.setLayoutParams(lp);
frameLayout.add(tv);
`
答案 1 :(得分:0)
如果您需要代码,可以使用此配置创建RelativeLayout并设置它们。之后,在Activity / Fragment布局上设置此relativeLayout。
RelativeLayout layout = new RelativeLayout();
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
View2.setLayoutParams(params);
layout.add(View2);
params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(CENTER_IN_PARENT, true);
textView.setLayoutParams(params);
layout.add(textView);