
前面有人回答过这个问题:
textview控件本身没有给间距的参数,但是可以从string.xml入手来解决:
方法1、使用 CDATA
<string name="demoStr"><Data><![CDATA[ <b>你的文字</b>]]></Data></string>
方法2、转义HTML标签
<string name="myHeadStr"><b><u>bold, underline </u></b></string>
具体你可以百度 android string html
这样的话就可以有你需要的显示效果了,在textview中是办不到的,不过这样可以解决。
@Override
public void onDraw (Canvas canvas) {
Rect targetRect = new Rect(50, 50, 1000, 200)
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG)
paint.setStrokeWidth(3)
paint.setTextSize(80)
String testString = "测试:ijkJQKA:1234"
paint.setColor(Color.CYAN)
canvas.drawRect(targetRect, paint)
paint.setColor(Color.RED)
FontMetricsInt fontMetrics = paint.getFontMetricsInt()
// 转载请注明出处:ht tp:/ /blog.cs dn.n et/hursing
int baseline = targetRect.top + (targetRect.bottom - targetRect.top - fontMetrics.bottom + fontMetrics.top) / 2 - fontMetrics.top
// 下面这行是实现水平居中,drawText对应改为传入targetRect.centerX()
paint.setTextAlign(Paint.Align.CENTER)
canvas.drawText(testString, targetRect.centerX(), baseline, paint)
}
效果(点击查看大图):
如下图所示,怎样获取两个红框之间的距离。1、如果这个页面是固定不动的:获取屏幕整个高度-其余不要的高度
2、把“买家秀”的坐标和“立即下单”的坐标分别查找到;将高度进行相减,则可以得到两个之间的距离)
这里对第二种方式进行演示:
private void getHeight() {
//买家秀
int[] viewLocation = new int[2]
lldown.getLocationInWindow(viewLocation)
int lldownX = viewLocation[0]// x 坐标
int lldownY = viewLocation[1]// y 坐标
//下单按钮
int[] view_Location = new int[2]
addressitTeadd.getLocationInWindow(view_Location)
int addressitTeaddX = view_Location[0]// x 坐标
int addressitTeaddY = view_Location[1]// y 坐标
//买家秀到下单按钮距离
int Height=addressitTeaddY-lldownY
Log.e("yxl--height",Height+"")
int ivHeight=v_nomjxiu.getHeight()
Log.e("yxl--ivm",ivHeight+"")
//空白距离
int distance= Height-ivHeight
Log.e("yxl---distance",distance+"")
if (distance>=0){
tianWeb.setVisibility(View.VISIBLE)
LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) tianWeb.getLayoutParams()//取控件textView当前的布局参数
linearParams.height = distance// 控件的g
tianWeb.setLayoutParams(linearParams)//使设置好的布局参数应用到控件
} else {
tianWeb.setVisibility(View.GONE)
}
}
ps:因为图中所有的控件都放在一个Scrollview里面的,点击买家秀的时候,会回d一下回来。这里获取到 :买家秀到下单的距离-(没有买家秀时会显示的图片高度)=空白的高度;
将这个空白高度用一个webview填充,防止点击的时候,d一下。
记录自己开发中遇到的问题,大家可以忽略这个ps。
动态获取控件x和y轴
@BindView(R.id.ll_down)
LinearLayout lldown
//放在方法中,lldown为控件名
int[] viewLocation = new int[2]
lldown.getLocationInWindow(viewLocation)
int lldownX = viewLocation[0]// x 坐标
int lldownY = viewLocation[1]// y 坐标
登录后复制
补充
ps:1、Android中如何获取屏幕宽度和高
int screenWidth
int screenHeight
WindowManager windowManager = getWindowManager()
Display display = windowManager.getDefaultDisplay()
screenWidth = display.getWidth()
screenHeight = display.getHeight()
登录后复制
2、获取某控件的高度getHeight()、宽度getWidth()。
android之View坐标系,获取坐标值,改变控件的位置
3、Android 动态设置控件宽高度
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)