首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android ListView:幻灯片视图未显示

问Android ListView:幻灯片视图未显示
EN

Stack Overflow用户
提问于 2013-08-30 09:25:20
回答 1查看 680关注 0票数 1

我有一个ListView,每个项目可以侧滑,以便另一个视图将滑入并取代它的位置。我已经将每个列表行实现为水平RelativeLayout中的两个视图。其中一个视图最初位于屏幕外。

​

问题是,我无法使屏幕外视图在滑入屏幕时呈现出来,除非它最初部分显示在屏幕上(如图中所示),而且这种技术似乎只有在不可见视图向右时才能工作。

有什么更好的方法来实现这一点吗?我试图在幻灯片期间调用.invalidate()和.setVisibility(可见的),但没有效果。

更新:

呈现的问题似乎是最初隐藏的视图总是宽度为0,即使我试图在滑动过程中对其进行编程更改。我在这两个视图周围使用一个RelativeLayout,以使可见视图完全适合屏幕。

--这是一个要求,视图可以被手指拖动。我目前在View.OnTouchListener中听View.OnTouchListener来实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2013-08-30 09:51:12

您的问题相当模糊,因为您没有提供任何代码或滑入/退出视图的方法。如果您还没有使用ViewFlipper或ViewFlipper,这还不够吗?

您也可以使用http://developer.android.com/reference/android/widget/ViewSwitcher.htm获得滑动效果,这只允许2个视图,并通过动画将一个视图和另一个视图滑动--这可能更接近您所需要的,但也有一些小的缺点。视图滑块的工作方式类似于查看flipper (这让您有多个视图),下面是viewflipper的一些示例代码。

http://developer.android.com/reference/android/widget/ViewFlipper.html

代码语言:javascript
复制
<ViewFlipper
    android:id="@+id/flipper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

    YOUR VIEWS

    </LinearLayout>

   <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

      YOUR VIEWS

    </LinearLayout>

</ViewFlipper>

然后,您可以添加自己的动画,并在滑动或其他操作中调用showNext在两个视图之间动画(在您的示例中,是幻灯片和幻灯片动画)。

代码语言:javascript
复制
/* Flipper animations */
yourFlipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.slide_in));
yourFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_out));

youFlipper.showNext();

只需在列表视图的自定义单元格中放置视图flipper即可。这将处理隐藏和显示,这意味着您不需要处理可见的等等,尽管我很感激您可能无法获得完全相同的效果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18529405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档