我正在为视频门电话开发我的第一个Android应用程序。 SIP Audio和mjpeg视频功能正在运行 我想在视频ui的底部添加三个按钮,但是只有一个按钮,我在第3个时添加了。 提前感谢您的回复
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String URL = "http://172.16.1.58/mjpg/video.mjpg";
//String URL ="http://172.16.20.20/axis-cgi/mjpg/video.cgi?camera=1&resolution=320x240";
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
mv = new MjpegView(this);
setContentView(mv);
// (1) add accept button on video screen
acceptBtn = new ImageButton(this);
acceptBtn.setImageResource(R.drawable.answer);
acceptBtn.layout(0, 0, 0, 0);
addContentView(acceptBtn, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
acceptBtn.setOnClickListener(onAccept);
// (2) add End key on video screen
endBtn = new ImageButton(this);
endBtn.setImageResource(R.drawable.end);
endBtn.layout(0, 300, 0, 0);
addContentView(endBtn, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
endBtn.setOnClickListener(onEnd);
// (3) add OpenDoor key on video screen
keyBtn = new ImageButton(this);
keyBtn.setImageResource(R.drawable.key);
keyBtn.layout(0, 600, 0, 0);
addContentView(keyBtn, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
endBtn.setOnClickListener(onOpenDoor);
new ConnectToImageServer().execute(URL);
}
答案 0 :(得分:0)
看起来你永远不会在你的视图中添加按钮,你需要做类似
的事情 每个人都 mv.addView(keyBtn);
。
然而,添加3个按钮可能无法为您提供所需的布局,因此您可以做的是制作包含其中所有按钮的xml布局并将其添加到视图中。使用这样的东西,或以编程方式
XmlPullParser parser = res.getXml(R.layout.buttonsForVidUI);
AttributeSet attributes = null;
int state = 0;
while(state != XmlPullParser.END_DOCUMENT)
{
try {
state = parser.next();
} catch (XmlPullParserException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
if (state == XmlPullParser.START_TAG) {
if (parser.getName().equals("LinearLayout")) {
attributes = Xml.asAttributeSet(parser);
break;
}
}
}
那就是说,如果我理解正确的话,可能会发生的是所有按钮彼此重叠,所以你看到的就是最后一个。按钮的布局是否显示了您的期望?检查此方法的一种方法是将背景设置为其中一个为黑色keyBtn.setBackgroundColor(#000000)
,其余为透明endBtn.setBackgroundColor(#00000000)
,后两个0为Alpha通道。我之前在向视图添加按钮时遇到了问题,因为我尝试添加它们的视图忽略了一些布局参数。在这种情况下,我不得不在xml中为布局添加它们,这是一个选项吗?