2012-03-30 18 views
0

私はgenerateviewsに、いくつかの方法を使用アンドロイドでフラグメントを使用してsplitviewプロジェクトを、持っている、分割の幅と背景色を設定する方法を定義し、ここに私のJavaコードは次のとおりです。アンドロイドの別のプロジェクトでライブラリapiとしてプロジェクトを使用する方法は?

public class SplitviewActivity extends FragmentActivity implements 
     Left.OnButtonClickListener { 

    LinearLayout LEFT, RIGHT, leftfragmentln, rightfragmentln; 
    Right rightFr; 
    Left leftFr; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     //reduced the Gray Bar 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 


     setContentView(R.layout.main); 
     // initializes the objects 
     initializer(); 

     // sets the size of the two sides, give the ration here 
     setSize(20, 80); 
     // sets the colour of the two sides 
     setColor(Color.BLUE, Color.RED); 

    } 

    public void initializer() { 
     LEFT = (LinearLayout) findViewById(R.id.lnLeft); 
     RIGHT = (LinearLayout) findViewById(R.id.lnRight); 
     leftfragmentln = (LinearLayout) findViewById(R.id.lnLeftFragment); 
     rightfragmentln = (LinearLayout) findViewById(R.id.lnRightFragment); 
     rightFr = (Right) getSupportFragmentManager().findFragmentById(
       R.id.view_right); 
     leftFr = (Left) getSupportFragmentManager().findFragmentById(
       R.id.view_left); 

    } 

    public void setColor(int leftColor, int rightColor) { 

     // for landscape mode 
     if ((rightFr != null) && rightFr.isInLayout() && (leftFr != null) 
       && leftFr.isInLayout()) { 

      LEFT.setBackgroundColor(leftColor); 
      RIGHT.setBackgroundColor(rightColor); 
     } else { 
      // for portrait mode 
      RIGHT.setBackgroundColor(rightColor); 

     } 

    } 

    public void setSize(float leftsize, float rightsize) { 

     // for landscape mode 
     if ((rightFr != null) && rightFr.isInLayout() && (leftFr != null) 
       && leftFr.isInLayout()) { 

      android.widget.LinearLayout.LayoutParams par1 = (LayoutParams) LEFT 
        .getLayoutParams(); 

      android.widget.LinearLayout.LayoutParams par2 = (LayoutParams) RIGHT 
        .getLayoutParams(); 
      par1.weight = rightsize; 
      par2.weight = leftsize; 

     } 

    } 

    // a method to add view in a blank xml programatically 
    public void setView(View leftView, View rightView) { 
     if ((rightFr != null) && rightFr.isInLayout() && (leftFr != null) 
       && leftFr.isInLayout()) { 
      leftfragmentln.addView(leftView); 
      rightfragmentln.addView(rightView); 
     } else { 

      rightfragmentln.addView(rightView); 

     } 
    } 

    @Override 
    public void onClickButton(String s) { 

     if ((rightFr != null) && rightFr.isInLayout()) { 
      rightFr.setText(s); 
     } else { 
      Intent intent = new Intent(this, RightActivity.class); 
      intent.putExtra("value", s); 
      startActivity(intent); 
     } 

    } 
} 

私が欲しいですこのコードを別のプロジェクトのライブラリとして使用し、これらのメソッドを呼び出してビューを生成し、幅と背景の色を定義したいだけです。私はさまざまな方法で試しましたが、私の問題を解決することはできませんでした。誰かが簡単な例で私を助けることができますか?

答えて

0

私は現在、普通のJavaプロジェクトでこれを行います。 は私が

A) プロジェクトのビルド・パスに設定され含めるには:

ちょうどあなたのプロジェクト

B) 注文を追加し、エクスポート

選択(チェック)プロジェクト

+0

あなたの成功はうまくいきますが、私はライブラリプロジェクトからオブジェクトを作成できますが、私は新しいプロジェクトでこれらのメソッドをどのように呼び出すことができますか?私は呼ばれたが例外をスローする –

0

プロジェクトペインでプロジェクトを右クリック - >プロパティ - > Javaビルドパス - >プロジェクトまたはライブラリのいずれかを選択します。

0

その後、既存のプロジェクトに行くEclipseであなたの新しいAndroidプロジェクトを作成し、

プロパティ=> Androidは=>は、ライブラリプロジェクトです=>この

は次に、新しいプロジェクトに

に行くダニプロパティ=> Android =>ライブラリプロジェクトを追加してリストからlibプロジェクトを選択してください

libプロジェクトを開いたままにしておく必要があります。この同じ方法は、FacebookとアクションバーのSherlockによって使用されています。

0

他のプロジェクトを右クリック - >プロパティ - >フィルタのタイプをandroid ==>として選択し、ライブラリ==>をクリックして追加をクリックします。===>プロジェクトを選択します。

関連する問題