2012-07-16 28 views
0

我想根據其他人的位置在我的視圖中放置元素。讓我來解釋:首先,我有兩個textviews,我已經成功地把第二(villeOffre)之一的,第一個(titreOffre):Android:如何設置TextViews位置取決於其他編程方式?

titreOffre = (TextView) findViewById(R.id.offreTitre); 
titreOffre.setText(capitalizedString(offre.getTitle())); 
villeOffre = (TextView) findViewById(R.id.offreVille); 
villeOffre.setText(offre.getLocality()); 
infos = (TextView) findViewById(R.id.infos); 

ViewTreeObserver vto = titreOffre.getViewTreeObserver(); 
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener(
{ 
    @Override 
    public void onGlobalLayout() 
    { 
     FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) villeOffre.getLayoutParams(); 
     params.setMargins(15,titreOffre.getBottom()+12,15,0); 
     villeOffre.setLayoutParams(params); 
     titreOffre.getViewTreeObserver().removeOnGlobalLayoutListener(this); 
    } 
}); 

這工作完全,但現在我希望把第三的TextView (infos),這取決於villeOffre的位置。怎麼做 ?

非常感謝。

回答

3
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     rr = new RelativeLayout(this); 

     b1 = new Button(this); 
     b1.setId(R.id.Button01); 
     recent = b1; 
     b1.setText("Click me"); 
     rr.addView(b1); 


     setContentView(rr); 

     b1.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       tv1 = new TextView(can.this); 
       tv1.setId((int)System.currentTimeMillis()); 
       lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
       lp.addRule(RelativeLayout.BELOW, recent.getId()); 
       tv1.setText("Time: "+System.currentTimeMillis()); 
       rr.addView(tv1, lp); 
       recent = tv1; 
      } 
     }); 
    } 
+0

也許這會幫助你,如果不忘記接受它並投票給我。謝謝 :) – SALMAN 2012-07-16 16:34:41

相關問題