布局文件
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/margin_medium"
android:layout_weight="10" >
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/viewGroup"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal" >
</LinearLayout>
private void initViewPager() {
View view = null;
for (i = 0; i < videoNum//数量是根据从服务器取下的数据,长度是可变的
; i++) {
view = getActivity().getLayoutInflater().inflate(
R.layout.fragment_one_video, null);
viewList.add(view);
mRtspVideoView = (RtspVideoView) view.findViewById(R.id.rv_view);
mRtspVideoView.setPlaySize(Constants.SCREEN_WIDTH,
Constants.SCREEN_HEIGHT);
mIvLogo = (ImageView) view.findViewById(R.id.iv_logo);
}
在OnPageChangeListener里,操作了一个播放视频。我有一个线程在播放成功的时候,把未播放视频时候的mIvLogo隐藏。
private Handler videoHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
System.out.println("real video");
mIvLogo.clearAnimation();//隐藏无效。如果是显示也是无效
mIvLogo.setVisibility(View.GONE);
}
};
不知道是什么原因,一直是无效的。我在滑动页面的其他操作是有效的。比如按页面的position获取数据是有效的。
mIvLogo = (ImageView) view.findViewById(R.id.iv_logo);这是在循环里,最后记录的是最后一次for循环的组件。
private Handler videoHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
System.out.println("real video");
mIvLogo.clearAnimation();//隐藏无效。如果是显示也是无效
mIvLogo.setVisibility(View.GONE);//你点击的时候这个mIvLogo是最后一次view中的iv_logo
}
};
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。