当前位置: 首页 > 面试题库 >

如何在程序内部将布局和文本大小设置为DP?

江承嗣
2023-03-14
问题内容

基本上,我在XML内有此功能,但是我必须在代码内重新创建它。我该怎么做?

<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呢?

edTxt.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 10);

有没有办法告诉代码使用DP单元而不是像素?还是将DP转换为像素的转换功能?


问题答案:

提取:

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


 类似资料:
  • 我有一些具有两列的TableView-名称和大小;此表适用于File对象; PropertyValueFactory可以为列获取对象的属性,尝试搜索somenameProrperty、getSomename、isSomename;我需要从文件中获取length()方法。 此代码查看文件名(getName()方法),但长度列为空。知道我可以用factory从文件中获取length()吗?

  • 我是javafx和fxml的新手,我无法在边框窗格中居中我的项目。 我的fxml如下: 问题似乎是vbox有整个屏幕,里面的项目在top_left。我知道我需要将vbox的宽度设置为最小值,而不是让它在边框中扩展,但是怎么做?? 非常感谢。

  • 我一直在使用空布局,很多人会说不应该这样做。有更好的办法吗? 以下是一些代码示例:

  • 问题内容: 如何设置Flutter应用程序的版本名称和版本代码,而不必进入Android和iOS设置? 在我的pubspec.yaml中 但我看不到内部编号的地方。 问题答案: 您可以在 pubspec.yaml 中的同一位置更新版本名称和版本代码号。只需将它们与标志分开即可。例如: 这表示 版本名称是 版本代码是 在新项目的文档中对此进行了描述(但是,如果您正在处理旧项目,则可能已将其删除):

  • 我的情况似乎与谷歌上发现的100万个问题(与spinner相关)有点不同,google上的主要解决方案只是为spinner项目创建自定义xml。 位置int:我们想要其视图的项的索引。 convertView视图:如果可能的话,要重用的旧视图。注意:在使用之前,您应该检查此视图是否为非空视图并具有适当的类型。如果无法转换此视图以显示正确的数据,此方法可以创建新视图。 父ViewGroup:此视图最

  • 我有一个Material UI文本字段作为输入,我需要强制输入大写文本。我曾尝试使用作为样式属性的一部分,但这似乎不起作用。我的组件中的所有其他样式都已正确应用,但textTransform未正确应用。 我也尝试过使用标准样式方法将我的样式作为道具传递给组件,但我得到了相同的结果。 我的组件: 输出: