如何在xml中创建可用于任何布局的视图?

时间:2018-06-27 21:35:44

标签: android

例如,创建ImageView时,我知道可以在Layout内创建它:

示例LinearLayout

<LinearLayout...>
    <ImageView
    android:id="@id/hello_world_id"/>
</LinearLayout>

但是我可以在布局之外定义View,然后将其添加到其他布局中吗?

我希望有一个RelativeLayout,它可以通过编程方式动态地添加/删除视图,以便RelativeLayout在其中没有视图的情况下开始,然后添加一些,删除一些等等。有什么办法吗?还是仅将这些视图包含在其他Layout中,然后再将Layout(无论是什么,包含我的视图)添加到我的RelativeLayout中,这更好吗?

1 个答案:

答案 0 :(得分:0)

您要搜索的是LayoutInflator

  1. 创建xml文件-button.xml

    <LinearLayout...>
    <ImageView
    android:id="@id/hello_world_id"/>
    

  2. 在您的活动中,通过

  3. 进行访问
final LayoutInflater  inflater 
 = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View itemView = inflater.inflate(R.layout.buttons,
                    null);// this is a layout in your master activity 

    lLayout = (LinearLayout)findViewById(R.id.layout1); 
    lLayout.addView(itemView);

希望这会有所帮助。