匹配背景上的文本位置

时间:2013-08-15 18:54:05

标签: android android-layout

我的Android应用程序背景和文本的图片,我想用RelativeLayout在图片的特定点设置我的文本但问题是在不同的手机中具有不同的分辨率,文本和图片的大小都改变了文本的位置不再是具体位置,我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以在计算位置时使用百分比,当调整图像大小时,该点相对于其高度/宽度的位置应相同。

答案 1 :(得分:0)

这是代码块,它假设字体大小为30,其位置从中心开始(左边50%,顶部50%),

TextView t=(TextView)findViewById(R.id.txt);
    RelativeLayout.LayoutParams lp=(RelativeLayout.LayoutParams) t.getLayoutParams();
    Display D;
    D=getWindowManager().getDefaultDisplay();
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    float multiplier=(float)((float)dm.densityDpi/(160));
    lp.leftMargin=(int)(D.getWidth()*.5);
    lp.topMargin=(int)(D.getWidth()*.5);
    t.setTextSize(30*multiplier);
    t.setLayoutParams(lp);

160dpi器件的乘数将为1,并将根据其他器件密度变化, 文本位置始终从屏幕中心开始..