如何在程序内部将布局和文本大小设置为 DP? [英] How do I set Layout and Text size to DP inside program?
本文介绍了如何在程序内部将布局和文本大小设置为 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屋!
查看全文