我需要显示setContentView(R.layout.main);
中使用的布局路径。因此,如果手机是normal-mdpi
,我需要显示“路径是:/ res / layout-normal-mdpi”,或者如果手机是normal-hdpi
,我需要一个文字“路径是:/ RES /布局正常HDPI”。
我基本上需要知道加载了哪个布局文件及其路径。
答案 0 :(得分:2)
您可以在xml中添加带有相应文件夹名称的隐藏文本视图 按
获取文本视图中的字符串TextView path = (TextView)findViewbyid(R.id.hiddentextview);
String s = path.gettext().tostring();
确保文本视图的所有ID都相同 实施例
if your xml is in `normal-mdpi` in hidden textview hard code `normal-mdpi` if your xml is in `large-mdpi` in hidden textview hard code `large-mdpi`
答案 1 :(得分:1)
您可以致电Activity.getResources().getConfiguration()
,这将使您获得最新信息Configuration - 请参阅文档,您可以从那里获得所需的大部分信息(即,您需要orientation和screenLayout),对于屏幕密度,您需要Activity.getResources().getDisplayMetrics()
和density字段。我无法检索我所知道的实际布局路径。
<强> UPD 强> 嗯,看看这个:LayoutInflater.inflate() - 这就是它在内部工作的方式,如果你深入挖掘 - 它会调用一个实际通货膨胀的本地方法,所以那里没有运气,但也许如果你四处寻找使用xml解析器,您将找到一种方法。从我的头脑中,您可以为每个布局添加注释,并将文件的名称放入其中。然后使用Activity.getResources()。getLayout(your_layout_id)来获取xml解析器,然后使用解析器来获取注释 - 这样您就可以准确地知道刚刚访问的文件。