2016-11-30 28 views
0

enter image description here実際には2つの質問があります。EditTextの境界線の色をプログラムコードで変更する方法は?

  1. edittextの境界線の色とサイズを変更するにはどうすればよいですか? rectカーソルの色を変更する必要があるため、rect.xmlの詳細を記述するためにshape.xmlを使用し、EditTextのバックグラウンドを@ drawable/shapeとして設定しても動作しません。 私はstyles.xmlを使って線の色としてcolorAccentを設定し、EditText android:themeをこのように設定しようとしています。それは色のために働くが、私はstyle.xmlで行のサイズを変更する方法を理解することができません。

  2. 実行時にEditTextの色を変更したいのですが、EditText行の色を変更してカーソルの色をプログラムコードに変更する方法はありますか?

ご協力いただきましてありがとうございます。本当にありがとう!

白い線のサイズを1 dpに変更したいとします。 @nullする

+0

ラインのサイズが動的に変更カントのEditText Width.Weに依存します。 – Sharath

+0

EditTextのandroid:layout_widthを変更でき、境界線が細くなることを意味しますか?しかし、私は1dpのような固定数としてサイズを設定する必要があります。 –

答えて

0

あなたは使用することができます。

APIレベル21または>21

ColorStateList colorStateList = ColorStateList.valueOf(ContextCompat.getColor(this,R.color.red)); 
editText.setBackgroundTintList(colorStateList); 

はAPIレベルについて< 21

editText.getBackground().mutate().setColorFilter(ContextCompat.getColor(this,R.color.red), PorterDuff.Mode.SRC_ATOP); 

android:textCursorDrawable属性@nullには、あなたのテキストの色と同じカーソルの色を与えますあなたが適用したEditTextの境界線については

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="line"> 
<stroke 
    android:width="1dp" 
    android:color="#9ba3af" 
    /> 
</shape> 
+0

ありがとうPiyush、私は今、色の問題を解決すると思う、あなたはEditTextの1dpとして境界線を設定する方法を知っていますか? –

+0

長方形の枠線ですか? @shaopingwang – Piyush

+0

いいえ、私のEditTextシェイプは、矩形ではないラインのようなものかもしれませんが、査読者が私の質問を理解する助けとなるかもしれません。 –

0
editText.getBackground().mutate().setColorFilter(getResources().getColor(R.color.AppColor), PorterDuff.Mode.SRC_ATOP); 

android:textCursorDrawable属性は、カーソルの色としてandroid:textColorの使用をもたらすはずです。

Javaクラスでこのコードを使用してください。

+0

ありがとう、アーパン!私はあなたのアドバイスを試して、android:textCursorDrawable属性を@nullにするとカーソルが細くなり、その色も変更されます。 SetColorFilterは、境界線の色を変更することもできます。私はちょうど今ラインサイズの設定を解決する必要があると思う:) –

+0

あなたは大歓迎です。助けになることを願っています。 –

関連する問題