2017-06-09 4 views
1

LinearLayoutと4つのEditText-sの中にXMLの灰色のヒントカラーがあります。 LinearLayoutに新しいEditTextを動的に追加するボタンがあります。問題は、setHint( "text")を使用すると、作成された新しいビューのヒントカラーが黒くなります。Android:EditTextのデフォルトヒントカラーを.javaから設定します。

また、setHintTextColor()を試してみましたが、カスタムカラーを設定することで私にとっては唯一の方法でした。 setHintTextColor()で設定できるデフォルトのヒントカラーはありますか?それが呼び出されたときにそれを行う何らかのメソッドですか?

コードは次のようになります。

private EditText createNewTextView(String text) { 
    ++x; 
    final ActionBar.LayoutParams lparams = new ActionBar.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT); 
    final EditText editText = new EditText(this); 
    editText.setLayoutParams(lparams); 
    editText.setHint("Name" + x); 
    editText.setHintTextColor(getResources().getColor(R.color.hintcolor)); 
    return editText; 
} 

P.S.私はヒントカラーと呼ばれる色で新しい色を作った

私は解決策を探していましたが、助けになるものは何もなかったし、私はそれを理解していませんでした。私はアンドロイドとプログラミングでは新しいので、裁判をしないでください、ただ説明してください。ありがとうたくさん

+0

https://stackoverflow.com/questions/6438478/sethinttextcolor-in-edittextこの記事を見ましたか? – Merijn

+0

それを試しましたが、 "白"を解決できないと言います。多分それを色に追加すると助けになりますが、私はまだ正しい色のコードが必要です – DaggerTok

答えて

0

これは遅すぎるかもしれませんが、同じ問題を抱えている人のために、私はデフォルトを得る方法を作って解決しましたtextColorHint
現在のテーマで指定されているすべての状態(無効、フォーカス、選択...)のヒントテキストの色を返します。

int getHintTextColor(Context context) { 
    int[] hintTextColor = new int[] { android.R.attr.textColorHint }; 
    int indexOfAttrTextColorHint = 0; 
    TypedArray ta = context.obtainStyledAttributes(hintTextColor); 
    int textColor = ta.getColor(indexOfAttrTextColorHint, 0xFF808080); 
    ta.recycle(); 
    return textColor; 
} 

これが役立ちます。

関連する問題