如何在相对布局中调整和对齐中心TextView到ImageView-android sdk 10
我正在玩Android如何在相对布局中调整和对齐中心TextView到ImageView-android sdk 10,android,imageview,android-relativelayout,Android,Imageview,Android Relativelayout,我正在玩AndroidSDK 10(我想支持来自SDK 10的设备) 我不知道如何在Imageview中自动居中文本 我能想到的将文本居中的唯一方法是使用填充,但我不喜欢它,它一定是一个更好的解决方案 从资源调整图像大小无效 InputStream ims = context.getAssets().open("myimage.png"); Drawable d = Drawable.createFromStream(ims, null); d.setBounds(0, 0, (int)(d.g
SDK 10
(我想支持来自SDK 10
的设备)
我不知道如何在Imageview
中自动居中文本
我能想到的将文本居中的唯一方法是使用填充,但我不喜欢它,它一定是一个更好的解决方案
InputStream ims = context.getAssets().open("myimage.png");
Drawable d = Drawable.createFromStream(ims, null);
d.setBounds(0, 0, (int)(d.getIntrinsicWidth()*0.5),
(int)(d.getIntrinsicHeight()*0.5));
ScaleDrawable sd = new ScaleDrawable(d,0,px,py);
ims.close();
Image = new ImageView(context);
Image.setImageDrawable(sd);
Image.setAdjustViewBounds(true);
layout.addView(Image);
TextView t = new TextView(this.context);
t.setText(r.toString());
t.setTextSize(80);
t.setGravity(Gravity.CENTER);
layout.addView(t);
ImageView
)
现在我在一个RelativeLayout
中添加了TextView
和ImageView
创建一组资产图像和文本的最佳做法是什么?这样,当我移动图像时,文本将跟随(居中)您可以始终将中心水平规则添加到相对性视图中,使其所有子对象保持水平居中。您可以始终将中心水平规则添加到相对性视图中,所以它的所有子对象都保持水平居中。试试这个。 将Framelayout保留为添加视图的父布局。 现在使用LayoutParams设置ImageView的重力、高度和宽度
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.gravity = Gravity.CENTER;
imageView.setLayoutParams(layoutParams);
现在在FrameLayout中,首先添加Imageview,然后添加textview。不要更改textview的任何内容
frameLayout.addView(imageView);
frameLayout.addView(text);
试试这个。
将Framelayout保留为添加视图的父布局。
现在使用LayoutParams设置ImageView的重力、高度和宽度
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.gravity = Gravity.CENTER;
imageView.setLayoutParams(layoutParams);
现在在FrameLayout中,首先添加Imageview,然后添加textview。不要更改textview的任何内容
frameLayout.addView(imageView);
frameLayout.addView(text);
这个成功了
再加上@Dhananjay Sarsonia的回答,这一次成功了
结合@Dhananjay Sarsonia的答案,它不起作用,我将用我的部分类更新代码实际上它起作用了,因为第一个问题,bu没有居中。ScaleDrawable没有调整图像的大小。您有什么想法吗?为什么?您可以不使用可缩放的绘图工具,而是添加calculateInSampleSize()和decodeSampledBitmapFromResource(),从中计算所需的图像宽度和高度,并将这些值传递给calculateInSampleSize()。另外,根据您的需要设置ImageView的缩放类型。我会看一看,如果是我需要的,我会选择这个答案。谢谢,它不起作用,我将用我的类的一部分更新代码。实际上它起作用了,因为第一个问题,bu没有集中。ScaleDrawable没有调整图像的大小。您有什么想法吗?为什么?您可以不使用可缩放的绘图工具,而是添加calculateInSampleSize()和decodeSampledBitmapFromResource(),从中计算所需的图像宽度和高度,并将这些值传递给calculateInSampleSize()。另外,根据您的需要设置ImageView的缩放类型。我会看一看,如果是我需要的,我会选择这个答案。非常感谢。