2011-07-18 11 views
8

私はAugmented Realityアプリをやっているので、カメラビューにオブジェクトを表示する必要があります。 FrameLayoutを作成してカメラビューを追加し、次にARオブジェクトを追加します(今はTextViewで試しています)。下のコードでは、TextViewをFrameLayoutに追加すると表示されません。FrameLayoutに子ビューをプログラムで追加してから位置を変更する

誰かが助けることができますか?そして、fsが表示されたら、プログラム上の位置を変更するにはどうすればよいですか?

UPDATE

私の代わりのTextViewのImageViewのを試みたが、それは動作します...なぜ!?

public class ARActivity extends Activity{ 

    private CBCameraView cv; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 

      cv = new CBCameraView(this); 

      FrameLayout rl = new FrameLayout(this); 

      rl.addView(cv, GlobalVars.screenWidth, GlobalVars.screenHeight); 

      setContentView(rl); 

      // this works... 
      /*ImageView fs = new ImageView(this); 
      fs.setImageResource(R.drawable.icon); 
      rl.addView(fs);*/ 

      TextView fs = new TextView(this); 
      fs.setText("Bar seco"); 
      fs.setTextColor(android.R.color.white); 
      fs.setTextSize(1,14); 
      fs.setLayoutParams(new ViewGroup.LayoutParams(
        LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
      rl.addView(fs); 

    }  
} 
+0

を見てください、ここでこの答えを参照してください: http://stackoverflow.com/questions/7068061/change-absolute-position-with-framelayout – rsc

答えて

0

WELとしてr1.setLayoutParamsを追加します:)

1

問題は、あなたがテキストの色を設定している途中であってもよいです。 setTextColor()はリソース値ではなく、カラー値の引数をとります。あなたがプログラムであなたのサブビューの位置を使用すると、レイアウトのparamsを経由して余白を調整したり、SETX/SETYのメソッドを使用することができます変更したい場合は、

fs.setTextColor(ContextCompat.getColor(context, android.R.color.white)); 

を呼び出す必要があります。ここHow can I dynamically set the position of view in Android?

関連する問題