Androidはグラフィックの詳細を表示するアイデアを実現します

5187 ワード

京东と宝を洗う商品の详しいページはすべてこのように1つの上で図の详しい操作を调べて、とても面白いと感じて、1种の简単で乱暴な方式で简単に実现しました
実は、初めて携帯電話でこの機能を試したとき、リストのようなアップロードがもっと多いのではないかと思っていました.そこで,ドロップダウンリフレッシュとアップロードのより多くの考え方に従って以下のように検討した.ここではPullToRefreshViewのオープンソースフレームワークを参考にして、必要に応じていくつかの内容を変更します.
  • まず効果図
  • を見てみましょう
    ここに画像の説明を書きます
  • レイアウトファイル
  • 
    
    
        
    
            
    
                
    
                    
    
                        
                    
                
            
    
            
    
                
    
                    
    
                        
                    
                
            
    
        
    
        
    
            
    
                
            
    
            
    
                
            
    
        
    
    
    
    

    ここの2つのカスタムview:PullToRefreshViewとPullToRefreshViewは、オープンソースフレームワークPullToRefreshViewの内部だけをいくつか修正する必要があります.PullToRefreshViewUpは、プルアップ時のアニメーション効果を除去し、文字を保持して図面の詳細を表示するヒントとして、PullToRefreshViewDownというviewはドロップダウン・リフレッシュの効果を実現するだけで、同様に修正しました.
    最後に、使用方法:
    public class MainActivity extends AppCompatActivity implements
            PullToRefreshViewUp.OnHeaderRefreshListener, PullToRefreshViewUp.OnFooterRefreshListener,
            PullToRefreshViewDown.OnHeaderRefreshListenerDown {
        PullToRefreshViewUp refreshUp;
        PullToRefreshViewDown refreshDown;
        LinearLayout headUp, headDown;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            refreshUp = (PullToRefreshViewUp) findViewById(R.id.RefreshUp);
            refreshUp.setOnHeaderRefreshListener(this);
            refreshUp.setOnFooterRefreshListener(this);
            refreshDown = (PullToRefreshViewDown) findViewById(R.id.RefreshDown);
            refreshDown.setOnHeaderRefreshListener(this);
            headUp = (LinearLayout) findViewById(R.id.head_up);
            headDown = (LinearLayout) findViewById(R.id.head_down);
        }
    
        @Override
        public void onHeaderRefresh(PullToRefreshViewUp view) {
            refreshUp.onHeaderRefreshComplete();
        }
    
        @Override
        public void onFooterRefresh(PullToRefreshViewUp view) {
            refreshUp.onFooterRefreshComplete();
            refreshUp.setVisibility(View.GONE);
            headUp.setVisibility(View.GONE);
            headDown.setVisibility(View.VISIBLE);
            refreshDown.setVisibility(View.VISIBLE);
    
        }
    
        @Override
        public void onHeaderRefresh(PullToRefreshViewDown view) {
            refreshDown.onHeaderRefreshComplete();
            refreshDown.setVisibility(View.GONE);
            headDown.setVisibility(View.GONE);
            refreshUp.setVisibility(View.VISIBLE);
            headUp.setVisibility(View.VISIBLE);
        }
    }
    

    これが実現方法全体です2つのビューを隠すことで実現したため、全体的な効果と京東淘宝には大きな差があるが、これも一種の思考にすぎないと記録している.