如何在程序内部将布局和文本大小设置为 DP? [英] How do I set Layout and Text size to DP inside program?

查看:18
本文介绍了如何在程序内部将布局和文本大小设置为 DP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上我在 XML 中有这个,但我必须在代码中重新创建它.我该怎么做?

Basically I have this inside XML, but I have to recreate it inside a code. How do I do it?

<EditText 
        android:layout_width="140dp"
        android:layout_height="20dp"
        android:background="@drawable/input_bg01"
        android:textSize="10dp"
        android:gravity="center"
        android:text="111-222-333     FOOO" />

我可以用它来设置文本大小,但是 layout_width 和 height 呢?

I can use this to set text size, but what about the layout_width and height?

edTxt.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 10);

有没有办法告诉代码使用 DP 单位而不是像素?还是一个转换函数,把DP转换成像素?

Is there a way to tell the code to use DP unit instead of pixel? Or a conversion function to convert DP into pixel?

推荐答案

已解决 此处.

提取:

DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
float dp = 20f;
float fpixels = metrics.density * dp;
int pixels = (int) (fpixels + 0.5f);

这篇关于如何在程序内部将布局和文本大小设置为 DP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆