是否有人知道是否可以根据共享偏好值加载不同的资源(例如布局)?
例如,让我们说我们有一个列表首选项,其中包含选项:
是否可以配置android从相应的文件夹加载资源?例如:
布局大/ main.xml中 布局中/ main.xml中
谢谢!
更新 让我们更具体地说明我想做什么。让我们说我有一个照片显示应用程序。我在gridView中以特定的分辨率显示图像,即150x110。我想通过选择3个可能的选项为我的用户提供配置此选项的选项:
出于这个原因,请使用带键的首选项列表:让我们说' display.photo.size'。
我希望android自动选择基于此键的布局。例如,如果用户选择了Large,我希望android能够通过文件夹选择资源:
布局largePhotos
而不是布局文件夹。
以及其他选择。
答案 0 :(得分:0)
显然我错了,可以强制选择设备的状态,但请记住,这些文件夹是供Android根据设备配置选择的。
Configuration config = new Configuration(getResources().getConfiguration());
config.screenLayout = Configuration.SCREENLAYOUT_SIZE_SMALL;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
这将强制选择文件夹layout-small
和config.densityDpi
中的布局以获得屏幕密度。
您的评论说您想要的选择不是基于屏幕尺寸,如果是这样,那么我建议,在layout
文件夹中创建带有附加限定符的不同布局文件(即。main_activity_large.xml
并从那里做出任务。
干杯