7

太字、斜体、下線のプロパティをサポートするために編集テキストを使用しています。テキストを選択して太字にした後、成功しました。次に、[通常]ボタンをクリックした後に太字を削除します。

Typeface.NORMALはここでは機能していません。誰かが他のオプションを提案できますか?

Button btnBold = (Button) findViewById(R.id.btnBold);
        btnBold.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                startSelection = etx.getSelectionStart();
                endSelection = etx.getSelectionEnd();


                Spannable s = etx.getText();
                s.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startSelection, endSelection, 0);
            }
        });


Button btnNormal = (Button) findViewById(R.id.btnNormal );
        btnNormal .setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                **//What I have to do here.**
            }
        });
4

4 に答える 4

7
Button btnNormal = (Button) findViewById(R.id.btnNormal );
        btnNormal .setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
               Spannable str = etx.getText();
               StyleSpan[] ss = str.getSpans(selectionStart, selectionEnd, StyleSpan.class);

       for (int i = 0; i < ss.length; i++) {
           if (ss[i].getStyle() == android.graphics.Typeface.BOLD){
            str.removeSpan(ss[i]);          
           }
       }
    etx.setText(str);

    }
});    
于 2012-05-23T06:47:21.023 に答える
0

私のプロジェクトでは、この構造を使用しています

textView.typeface = Typeface.create(textView.typeface, Typeface.NORMAL)
于 2018-12-24T17:06:54.153 に答える
-1

2番目で使用するonClick()代わりに最初で使用したものと同様です。s.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startSelection, endSelection, 0);s.setSpan(new StyleSpan(android.graphics.Typeface.NORMAL), startSelection, endSelection, 0);onclick()

于 2012-05-23T06:39:15.237 に答える
-2

単に使用してください:

Typeface.NORMAL

Androidドキュメントで確認できます。

于 2012-05-23T06:35:22.343 に答える