Textview调整文本当屏幕比其他屏幕大时

时间:2013-01-25 19:39:23

标签: java android android-layout textview

我想调整textview的大小,因为有些文字在平板电脑中很小但在手机中是正常的。

代码:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            setContentView(R.layout.loading);
         TextView txt = (TextView) findViewById(R.id.text);
         txt.setTextAppearance(this, android.R.attr.textAppearanceLarge);

2 个答案:

答案 0 :(得分:6)

您可以获得屏幕尺寸

如果您想要显示尺寸(以像素为单位),可以使用getSize

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

如果您不在Activity,则可以通过Display获取默认WINDOW_SERVICE

WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();

在引入getSize之前(在API级别13中),您可以使用现已弃用的getWidthgetHeight方法:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();  // deprecated
int height = display.getHeight();  // deprecated

对于您正在描述的用例,布局中的边距/填充似乎更合适。

现在,您可以通过添加weight或其他内容

来调整textView

答案 1 :(得分:3)

通常,您可以使用XML完成所有操作。然后,您可以为更大的屏幕创建布局。例如,您可以创建一个布局文件夹layout-sw600dp,用于最小尺寸至少为600dp的屏幕。

Supporting Multiple Screens