game_dream
2017-07-06 01:35
采纳率: 100%
浏览 1.6k
已采纳

Android-HorizontalScrollView控件里面可以嵌套自定义ViewGroup吗?

【HorizontalScrollView控件里面可以嵌套自定义ViewGroup吗?嵌套之后不显示ViewGroup里的控件。】
在网上看到的一个自定义ViewGroup控件,是一个实现3D旋转效果的容器类,
然后试图把它往HorizontalScrollView里面套,结果发现不显示。是为什么?
是因为HorizontalScrollView里面不能包含ViewGroup吗?还是其他地方有问题?
想实现多个3D旋转容器一起放在界面里,且可以横向拖动,类似于coverflow那种效果。如果这个方法不行,有没有其他思路?刚接触Android没多久,如果有明显错误的地方,希望大家直接指出,谢谢~
下面是布局代码:

  <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1">

        <com.study.testanything.custom.StereoView
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/p12"/>

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/p10"/>

        </com.study.testanything.custom.StereoView>

    </HorizontalScrollView>

下面是StereoView重写onMeasure方法的代码,如果有其他需要贴出的代码,大家请指出~

  @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        measureChildren(widthMeasureSpec, heightMeasureSpec);
        mWidth = getMeasuredWidth();
        mHeight = getMeasuredHeight();
        //滑动到设置的StartScreen位置
        scrollTo(0, mStartScreen * mHeight);
    }

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 珠穆朗玛小王子 2017-07-06 02:51
    已采纳

    你是想做广告banner图的那种3d切花那效果吗 如果是的话 你可以使用ViewPager 并且有很多的开源动画 如果想方便一点 可以直接中使用jazzViewpager框架

    已采纳该答案
    打赏 评论
  • game_dream 2017-07-06 01:36

    onMeasure方法没贴好,这里重贴

       @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
            measureChildren(widthMeasureSpec, heightMeasureSpec);
            mWidth = getMeasuredWidth();
            mHeight = getMeasuredHeight();
            //滑动到设置的StartScreen位置
            scrollTo(0, mStartScreen * mHeight);
        }
    
    打赏 评论
  • game_dream 2017-07-06 08:06

    我在这篇博客里看到的这个3D旋转容器,就想用它代替照片实现coverflow效果。
    单个的效果是这样的:
    图片说明
    比如正常的coverflow效果是这样的:
    图片说明
    现在我不希望每个图片只是单纯的一张图片,而是多个图片组成的这种可以立体旋转的容器,
    这里我在RecyclerView里面嵌套多个这个容器,效果是这样的,很僵硬,不知道有没有别的方法
    图片说明

    打赏 评论
  • 珠穆朗玛小王子 2017-07-07 03:41

    你说的僵硬是哪里僵硬 什么是层次感 你说这些抽象的概念 是很难听懂 如果你有一种想实现的效果 首先你得效果图 产品设计交互的时候都要有动态图 开发才能参考去设计这种效果

    打赏 评论

相关推荐 更多相似问题