1

これが私のアプリのレイアウトです。スクロールして別のアルバム (紫) を表示すると、アルバムと曲 (赤と青) の両方が水平に移動するようにします。ただし、アルバム内の曲をスクロールするために、曲 (青) を垂直に独立して移動させたいと考えています。

これまでのところ、私のコーディングは期待どおりに見えます...

<LinearLayout
   <HorizontalScrollView
       <LinearLayout
           <LinearLayout (This layout is so the album cover is displayed correctly)
               <ImageView
               <ScrollView
                 <LinearLayout
                     <TextView   (Songs)
                     <TextView
                     <TextView
                     <TextView

曲を縦にスクロールすると問題が発生します。垂直方向にスクロールするときに指を左右に動かすと、Horizo​​ntalScrollView が検出され、垂直方向のスクロールが停止します。これを止めるにはどうすればよいですか?私にできることが何もない場合、Horizo​​ntalScrollView 以外に何を使用できますか?

ありがとう、

-スティーブン

ここに画像の説明を入力

4

1 に答える 1

2

基本的に、レイアウトを変更する必要があると思います。まず、アルバムごとに曲数が異なるため、曲のリストはListView手作業で作成するのではなく、 で作成するのが最適ScrollViewです。次に、アルバムに を使用してViewPagerを添付しViewPager#OnPageChangeListener、ページが変更されると曲のリストが更新されます。現在のxmlを修正するには、アルバムを左から右に移動するだけでよいという私の理解に基づいて、これを行う必要があります。

<LinearLayout
   <HorizontalScrollView
       <LinearLayout
           <LinearLayout (This layout is so the album cover is displayed correctly)
               <ImageView
   </HorizontalScrollView> <!-- end the album HSV here --!>
               <ScrollView
                 <LinearLayout
                     <TextView   (Songs)
                     <TextView
                     <TextView
                     <TextView
               </ScrollView>

何が起こっているのかというと、理由もなく垂直ScrollViewをラップしているということです。HorizantleScrollView次のページ全体が表示されるように、あるレベルの左右の引っ張りが必要な場合は、に切り替えViewPagerます。(ここで何を言っているのかわからない場合は、Google Play を見てください。縦に並んでいListViewsて、左右に引っ張って新しいページを表示できます...

于 2012-07-25T00:02:00.763 に答える