2012-01-17 5 views
2

カメラの四隅に4つのテキストビューを表示したいとします。このテキストはデータベースから検索される。すなわち、テキストビューの入力は動的に与えられる。 誰かがそれをやり遂げる方法を手伝ってくれますか?カメラ画像の動的テキストのレンダリング

答えて

0

線形レイアウトを動的に作成し、それにテキストビューを追加することができます。同じことをカメラビュー(SurfaceView)に追加することができます。あなたのアクティビティからcalssを開始し、カメラビューのテキストを更新したい場合は、DisplayText()関数を呼び出します。

public class CameraApps extends SurfaceView implements Camera.PreviewCallback 
{ 
    private  Context DisCtx     = null; 
    private  Camera camera     = null; 

    public OTPCamera(Context ctx) 
    { 
     super(ctx); 
     this.DisCtx    = ctx; 
     camera = Camera.open(); 
     camera.setPreviewCallback(this); 
     camera.setPreviewDisplay(getHolder()); 
     camera.startPreview(); 
    } 
    public void DisplayText(String text1,String text2,String text3,String text4) 
    { 
     LinearLayout.LayoutParams layoutpar = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT); 

     TextView txtview = new TextView(DisCtx); 
     txtview.setText(text1); 
     txtview.setTextSize(25); 
     txtview.setGravity(Gravity.TOP | Gravity.LEFT); 
     txtview.setTextColor(Color.RED); 
     ((Activity)DisCtx).addContentView(txtview, layoutpar); 



     TextView txtview1 = new TextView(DisCtx); 
     txtview1.setText(text2); 
     txtview1.setTextSize(25); 
     txtview1.setGravity(Gravity.TOP | Gravity.RIGHT); 
     txtview1.setTextColor(Color.RED); 
     ((Activity)DisCtx).addContentView(txtview1, layoutpar); 

     TextView txtview2 = new TextView(DisCtx); 
     txtview2.setText(text3); 
     txtview2.setTextSize(25); 
     txtview2.setGravity(Gravity.BOTTOM | Gravity.LEFT); 
     txtview2.setTextColor(Color.RED); 
     ((Activity)DisCtx).addContentView(txtview2, layoutpar); 

     TextView txtview3 = new TextView(DisCtx); 
     txtview3.setText(text4); 
     txtview3.setTextSize(25); 
     txtview3.setGravity(Gravity.BOTTOM | Gravity.RIGHT); 
     txtview3.setTextColor(Color.RED); 
     ((Activity)DisCtx).addContentView(txtview3, layoutpar); 



    } 

}

関連する問題