我正在尝试构建一个音板应用,只要您点按自定义视图,它就会播放声音。为了整理我的UI,我使用了一个布局文件。
当我延长View
时,我发现当我试图给我的布局充气时,它无效。
//Didn't work
View v = View.inflate(context, R.layout.sound_view_layout, null);
但是,当我延长LinearLayout
时,它确实有效。
//Worked
View v = View.inflate(context, R.layout.sound_view_layout, this);
我的问题是,
为了让程序正常工作,我需要扩展一个Layout类,这样做有什么好处?
答案 0 :(得分:0)
嗯,你只能给布局充气。如果您只想创建一个视图,请使用new CustomView(context)
。
忽略这一点 - 扩展布局的主要原因是,如果您想以编程方式添加子项,或者已经是一组视图(例如,您可能想要创建一个视图CaptionedPhoto,其上面有一个图像一种方法是使CaptionedPhoto扩展LinearLayout并保持图像视图和文本视图。