-1

私はアプリケーションに取り組んでおり、5 つの異なるレイアウトと、各レイアウトへのリンクを持つメイン レイアウトがあるとします。メイン レイアウトでは、ユーザーが最初のボタンをクリックすると、スライドして関連するレイアウトに移動すると想定されます。他のビューについても同様です。

ユーザーがこれらのレイアウトのいずれかに移動すると、次のレイアウトにもチェーンのように他のレイアウトへのリンクがいくつかあります。そして、このチェーンはスライドすることでレイアウトから別のレイアウトに移動しています。

ビューフリッパーでこれをやろうとしましたが、非常に多くの異なるレイアウトがあり、背景画像とコンテンツが含まれているため、メモリエラーが発生します。

なので、この方法で解決策を見つけようとしています。これを達成する方法はありますか?

4

2 に答える 2

1

Jake Whartons ViewPageIndicatorを使用することをお勧めします。

すべてのレイアウトを作成し、フラグメント内のメソッドFragmentを使用してレイアウトをフラグメントに設定します。onCreateView()

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) {

        return inflater.inflate(R.layout.layout, container, false);
    }

FragmentPagerAdapterと呼ばれるメソッドを作成しますgetItem()SwitchPosition をフラグメントに設定します。

 public Fragment getItem(int position) {
 switch(position)
       {
               case 0:
                    TestFragment fragment = new TestFragment();  
                    return fragment;

                case 1:
                    TestFragment2 fragment2 = new TestFragment2();  
                    return fragment2;

         }

                    DefaultFragment fragment3 = new DefaultFragment();  
                    return fragment3;

         }

これで、レイアウト (フラグメント) に簡単にスワイプできるはずです

于 2012-08-14T15:12:54.383 に答える
0

各レイアウトの新しいandroid.app.Activityホスティングを開始しoverridePendingTransition(R.anim.animation_leave, R.anim.animation_enter);、 *.anim.animation_leave と _enter がこの SO answerですでにきちんと仕様化されている場所を使用して、アクティビティ間のトランジションをオーバーライドします。

「連鎖」アクティビティを開始する呼び出しの直後に overridePendingTransition コードを記述できます。(必要に応じて) 逆の効果を適用するfinish()には、アクティビティを呼び出した後、または「上へ」ナビゲーション ボタンを押すか「戻る」を選択した後に反対のトランジションを提供します。 -ボタンを押します。

1 つのアクティビティで 1 つのレイアウトを管理することは、(私の経験では) コードの保守性にも役立ちます。

于 2012-08-14T15:16:18.520 に答える