Viewpagerフルスクリーンでコンテンツを適応的に充填できない3つの方法を解決する

15104 ワード

排版の問題のため、私のブログ園の同名のブログの住所は:http://www.cnblogs.com/bill-technology/articles/3143667.html
多くのAndroid開発者がViewPagerコントロールを使用する場合、XMLレイアウトでViewPagerのプロパティandroid:layout_heightプロパティwrap_content設定後、何の役にも立たず、Viewpagerは依然としてフルスクリーンに敷かれた状態です.
ここでは、次のケースについてソリューションを提供し、ソリューションのメリットとデメリットを指摘します.
このケースの実装効果は、図のようになります.
     解决Viewpager满屏不能自适应填充内容的三种办法_第1张图片
青色の位置はViewpagerコントロールの位置です
1つ目は、Viewpagerの親コントロールが画面の残りの位置を満たしていることです.



    

    

        

        

        
    
    

    

        

        

            


                

                

                

                
            

            

                

                
                

                
                

                
                

                
            
        
        
         android:layout_above="@id/layout_module" >

            

            
            
        
       :        viewpager       ,           Android         ,          ,  viewpager       Imageview          ,                     ,             。(                  ,      )。 
   
  

    ( ScaleType.CENTER_INSIDE), :

  Viewpager                _ 2

    : Viewpager 。

    :

  Viewpager                _ 3

, 。

    : , , 。 。

    , viewpager ,viewpager 。 viewpager , 。 , ? ?

    , , viewpager imageview, , viewpager 。 , imageview , viewpager 。

    , :

    :

    




    

    

        

        

        
    
    

    

        

        

            

            
            
        

        

        

            

                

                

                

                
            

            

                

                
                

                
                

                
                

                
            
        
    

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int tempWidth = bm.getWidth();
int tempHeight = bm.getHeight();
img.setImageBitmap(bm);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) layout.getLayoutParams();
params.height = (int) (tempHeight * ((double) dm.widthPixels / (double) tempWidth));
layout.setLayoutParams(params);
: img imageview,bm bitmap ,layout viewpager 。

, :http://www.cnblogs.com/bill-technology/articles/3143667.html