在我的应用中,用户可以拍照或录制视频。然后保存该文件,并将其路径通过意图传递给下一个活动,该活动将其显示以供编辑。
我的问题是,如何轻松地为视频或图像使用相同的视图? 当我知道文件类型是什么时,我尝试在运行时动态添加视图,但结果太难配置,更不用说VideoViews在旋转时遇到的问题了。
修改
我忘了提到使用相同的视图会更好,因为我实际上不会对每种视图特定的内容做任何事情。
答案 0 :(得分:3)
在布局中添加ImageView和VideoView。然后将可见性设置为GONE或VISIBLE为您想要的。
答案 1 :(得分:0)
您可以创建两个子视图,一个用于图像,另一个用于视频。根据您的观点类型,您可以隐藏/显示您的孩子观点。
答案 2 :(得分:0)
您也可以将FrameLayout用于此
答案 3 :(得分:0)
通过使用frame layout /相对布局,您可以将视图放在另一个视图的顶部。创建像我提到的视图和使用可见性Gone&可见,您可以设法处理它..
// register the views
ImageView mImageView= (ImageView)findViewById(R.id.ImageView);
VideoView mVideoView= (VideoView)findViewById(R.id.VideoView);
// check your conditions like show video view r image view here
if(VideoView)
{
mVideoView.setVisibility(View.VISIBLE);
mImageView.setVisibility(View.GONE);
}
else if(ImageView)
{
mImageView.setVisibility(View.VISIBLE);
mVideoView.setVisibility(View.GONE);
}
然后根据您的使用情况,您可以动态控制它,如下所示
MethodInfo MethodInfo = typeof(MyClass).GetMethod(nameof(MyClass.MyMethod));
希望它对您有用:)