0

有谁知道是否可以根据共享偏好值加载不同的资源(例如布局)?

例如,假设我们有一个带有选项的列表首选项:

  • 大的
  • 中等的
  • 小的

是否可以将android配置为从相应的文件夹加载资源?例如:

布局-大/main.xml 布局-中/main.xml

谢谢!

更新 让我们更具体地了解我想要做什么。假设我有一个照片显示应用程序。我以特定分辨率(即 150x110)在 gridView 中显示图像。我想通过选择 3 个可能的选项为我的用户提供配置此大小的选项:

  • 大 -> (150x110)
  • 中 -> (110x90)
  • 小 -> (90x70)

出于这个原因,使用带有键的首选项列表:让我们说'display.photo.size'。

我希望android根据这个键自动选择布局。例如,如果用户选择大,我希望 android 按文件夹选择资源:

布局-大照片

而不是布局文件夹。

以此类推其他选择。

4

1 回答 1

0

显然我错了,可以强制选择设备的状态,但请记住,这些文件夹是供 android 根据设备配置选择的。

Configuration config = new Configuration(getResources().getConfiguration());
config.screenLayout = Configuration.SCREENLAYOUT_SIZE_SMALL;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());

这将强制选择文件夹中的布局layout-smallconfig.densityDpi屏幕密度。

您的评论说您想要的选择不是基于屏幕尺寸,如果是这样,那么我建议在layout文件夹内创建带有附加限定符的不同布局文件(即。main_activity_large.xml)并从那里进行分配。

干杯

于 2013-08-12T03:40:25.883 回答