【问题标题】:Get value defined in dimens.xml [duplicate]获取在dimens.xml中定义的值[重复]
【发布时间】:2014-10-22 11:23:03
【问题描述】:

Android 平台附带的dimens.xml 文件(位于 data\res\values 目录中)定义了一个名为 action_button_min_width 的维度(值为 56dip)。

除了在我的代码中硬编码之外,有没有一种方法可以通过编程方式获得这个值?


建议和重复引用似乎解决了从我在自己的应用程序中定义的资源中获取价值的问题。我的问题与从属于 Android 的资源中获取价值有关。当我尝试以下 getResources().getString(android.R.dimen.action_button_min_width);我收到编译错误,因为未定义 action_button_min_width。

【问题讨论】:

标签: android resources


【解决方案1】:

您可以使用getResources()

试试这个:

String butMinWidth = getResources().getString(R.dimen.action_button_min_width);

或:

int butMinWidth = getResources().getDimension(R.dimen.action_button_min_width);

希望对你有帮助。

【讨论】:

  • 建议和重复引用似乎解决了从我在自己的应用程序中定义的资源中获取价值的问题。我的问题与从作为 Android 平台一部分的资源中获取价值有关。当我尝试以下 getResources().getString(android.R.dimen.action_button_min_width);我收到编译错误,因为未定义 action_button_min_width。
  • 请检查 R 的导入
【解决方案2】:

1) float value = getResources().getDimension(R.dimen.action_button_min_width);

您需要创建dimens.xml 文件:

<resources>
...
    <dimen name="action_button_min_width">56dp</dimen>
...
</resources>

2) 字符串value = getResources().getString(R.dimen.action_button_min_width);

您需要创建values/Strings.xml 文件:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
...
    <dimen name="action_button_min_width">56dp</dimen>
...
</resources>

【讨论】:

  • 我希望得到Android平台资源文件中定义的值,而不是定义我自己的资源。
猜你喜欢
  • 2021-07-27
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 2021-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多