2016-12-05 8 views
2

私はギャップを埋めるために同様のアプリを開発しています。ギャップからインプットを取りたい。ギャップの位置は、このコードによって自動的に測定されます。どのように文章の途中から入力をJavaでプログラムで取得するのですか?

String Str = new String(text); 
    System.out.print("Found Index :"); 
    System.out.println(Str.indexOf('_')); 

    Log.e("Index", String.valueOf(Str.indexOf('_'))); 


    Rect bounds = new Rect(); 
    Paint textPaint = questionView.getPaint(); 
    textPaint.getTextBounds(text, 0, Str.indexOf('_'), bounds); 
    int height = bounds.height(); 
    int firstWidth = bounds.width(); 
    textPaint.getTextBounds(text, Str.indexOf('_') + 3, text.length(), bounds); 
    int secondWidth = bounds.width(); 


    Log.e("String Bounds", "firstWidth " + firstWidth + " secondWidth " + secondWidth); 


    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    lp.setMargins(firstWidth, 0, secondWidth, 0); 
    answerText.setLayoutParams(lp); 

このコードの出力は次のように似ています。

enter image description here

今の問題が発生します。ギャップを埋めるためにユーザーが入力できるところでeditTextの長さを設定するにはどうすればよいですか?

文全体が「これは文章」であることを含めたいと思います。この文は "This is ___ sentence"のようにユーザーに表示されます。ユーザーがギャップに触れると、私は入力を受けたいと思う。また、「入力」のようなボタンを入力して入力することもできます。どのように正しくこれを行うには、私は文章の幅と高さを測定することができます。

+0

を – MashukKhan

答えて

2

使用こんにちはあなたはTextEditMaskを実装することができますか

Masked-Edittext

このライブラリを使用する:いくつかのより多くのexplainationをしたい

MaskedEditText maskedEditText = new MaskedEditText(this, 
       "This is ___ sentence", 
       "_", 
       getResources().getDrawable(R.drawable.ic_account_circle), 
       new MaskedEditText.MaskIconCallback() { 
        @Override 
        public void onIconPushed() { 
         System.out.println("Icon pushed"); 
         //Invoke here contact list or just clear input 
        } 
       }); 
関連する問題