gpt4 book ai didi

Android:用另一个 View 替换一个 View

转载 作者:行者123 更新时间:2023-11-30 00:52:46 28 4
gpt4 key购买 nike

我一般需要的是:通过单击按钮用另一个 View 替换(隐藏)一个 View

让我们深入了解一下:我使用由 100 张图像组成的 ViewPager。

ViewPager的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>

<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="#ffffff" >

</android.support.v4.view.ViewPager>

<ImageButton
android:id="@+id/imagePlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageRight"
android:layout_alignTop="@+id/imageList"
android:src="@drawable/list" />

</RelativeLayout>

图像布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="1dip"
android:background="#ffffff">

<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
/>
</RelativeLayout>

有效 - 没问题。但我需要向 viewpager 添加按钮,并且在 viewpager 中点击图像后应更改为 gif。看起来像 gif 预览和点击播放后 - gif 开始播放。

gif 的自定义布局:

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageList"
android:layout_marginRight="28dp"
android:layout_toLeftOf="@+id/imageRight" >

<com.basv.gifmoviewview.widget.GifMovieView
android:id="@+id/gif1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

</LinearLayout>

应该怎么解决?点击按钮后打开另一个 Activity 对我来说非常简单,但问题是在同一个 fragment 中播放 gif

有什么想法吗?

最佳答案

我只是将你的 com.basv.gifmoviewview.widget.GifMovieView 添加到你的根 RelativeLayout 的某个地方(也许你可能需要包装两个 ViewPagerGifMovieView 在额外的 FrameLayout) 中,并在需要时使用普通的 setVisibility() 简单地显示/隐藏它。

编辑

I suppose it's not the best solution for phones' memory usage

我很快查看了 sources而且真的没有太多代码。所以如果你打扰内存使用,你总是可以在显示它之前动态创建小部件(并在隐藏后销毁)或者,因为我看不到“卸载”GIF 的方法,你总是可以使用“1x1 px”空 Gif 来确保最后一个如果不需要,你只是停止显示不再占用宝贵的内存。

关于Android:用另一个 View 替换一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40704326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com