Android Studio渲染片段问题

时间:2016-04-24 21:12:07

标签: android android-layout android-fragments android-studio

此刻,我正在尝试使用android studio制作谷歌地图应用。

现在,一切都很好,除了一件事,当我进入“设计”选项卡时,在XML文件中我有这个Redering消息:

  

渲染问题标记允许布局文件   在运行时动态包含不同的布局。在布局编辑   时间不知道要使用的具体布局。你可以选择哪个   您希望在编辑布局时预览的布局......

主要的问题是我不能在我的布局中使用任何gui组件,我搜索了我的问题,我理解这个错误,人们看不到他们的地图,但他们可以放在文本字段,小部件,布局等 但对我来说,我的预览是完全冻结的,我不能做任何修改。

Picture of my android studio page.

4 个答案:

答案 0 :(得分:2)

由于您可以使用代码动态更改片段,因此android studio不知道在设计时显示哪种布局。这是你错误的原因。 要专门告诉android要显示哪个布局,请在片段中添加tools:layout="@layout/Your_layout_name"属性。 您告诉错误描述下方还有一个快捷方式链接。只需单击链接,android将为您添加它,您将在布局中看到没有渲染错误消息的片段。 有关详细示例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.insane.fragmenttest.MainActivity">

<fragment
    android:id="@+id/testFragmentID"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.example.insane.fragmenttest.WorkOutDetails"
    tools:layout="@layout/fragment_work_out_details" /> <!-- This is the line you want to add. -->

</LinearLayout>

答案 1 :(得分:0)

尝试使用Designtime Layout Attributes。 http://tools.android.com/tips/layout-designtime-attributes

这些属性指导Android Studio如何在布局编辑器中呈现运行时属性。

我认为您应该在Array ( [submit] => Submit [row_id] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ) [first_name] => Array ( [0] => David [1] => Jane [2] => Jack [3] => Sam ) [last_name] => Array ( [0] => Smith [1] => Doe [2] => Pipper [3] => Gibbens ) [email] => Array ( [0] => ds@email.com [1] => jd@email.com [2] => jp@email.com [3] => sg@email.com ) )

tools:showIn="@layout/activity_maps"部分加入<fragment>

答案 2 :(得分:0)

只需将此设计用于片段即可。这解决了我的问题。另请参阅this链接

<fragment
     android:id = "@+id/ma"
     android:name = "com.google.android.gms.maps.SupportMapFragment"
     android:layout_width = "match_parent"
     android:layout_height = "match_parent"
     tools:context = "com.example.demomaps.MapsActivity"
     />

答案 3 :(得分:0)

是的,我轻松解决了这个问题。只需忽略该消息,然后点击下面显示渲染消息的行。 实际上片段包含布局内部,如果它不包括它必须包含它的显示警告,你可以在警告下面忽略此消息,然后这个渲染问题将被解决。