如何获取布局xml文件路径?

时间:2012-07-03 16:20:13

标签: android android-layout

我需要显示setContentView(R.layout.main);中使用的布局路径。因此,如果手机是normal-mdpi,我需要显示“路径是:/ res / layout-normal-mdpi”,或者如果手机是normal-hdpi,我需要一个文字“路径是:/ RES /布局正常HDPI”。

我基本上需要知道加载了哪个布局文件及其路径。

2 个答案:

答案 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 - 请参阅文档,您可以从那里获得所需的大部分信息(即,您需要orientationscreenLayout),对于屏幕密度,您需要Activity.getResources().getDisplayMetrics()density字段。我无法检索我所知道的实际布局路径。

<强> UPD 嗯,看看这个:LayoutInflater.inflate() - 这就是它在内部工作的方式,如果你深入挖掘 - 它会调用一个实际通货膨胀的本地方法,所以那里没有运气,但也许如果你四处寻找使用xml解析器,您将找到一种方法。从我的头脑中,您可以为每个布局添加注释,并将文件的名称放入其中。然后使用Activity.getResources()。getLayout(your_layout_id)来获取xml解析器,然后使用解析器来获取注释 - 这样您就可以准确地知道刚刚访问的文件。