Android - 在图像上设置文字

时间:2014-12-19 19:44:00

标签: android

我想在视图中显示图片,背景无法缩放,因此我使用了imageview。我需要通过代码执行此操作,因此我尝试了以下代码:

View2.setIcon(R.drawable.city3); View2.getImageView().setScaleType(ImageView.ScaleType.CENTER_CROP);

现在我想把一个textview放在imageview上,在中心,我尝试过多种方式,比如位图或不同的重力,但无法实现,文字低于图像,任何建议?

2 个答案:

答案 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);