エディットテキストの下の青色を変更したいのですが、どのプロパティなのかわかりません。
別の背景色を使用してみましたが、うまくいきませんでした。
以下の画像を添付しました:
エディットテキストの下の青色を変更したいのですが、どのプロパティなのかわかりません。
別の背景色を使用してみましたが、うまくいきませんでした。
以下の画像を添付しました:
回答:
EditTextの下線の色をプログラムで設定するのは実際にはかなり簡単です(コードを1行だけ)。
色を設定するには:
editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);
色を削除するには:
editText.getBackground().clearColorFilter();
注:EditTextにフォーカスがある場合、設定した色は有効にならず、代わりにフォーカスの色が適用されます。
APIリファレンス:
Control.Background.SetColorFilter(Android.Graphics.Color.White, PorterDuff.Mode.SrcIn);
Renderer
をオーバーライドしますか?これを検索バーで機能させる方法を理解しようとしています。
SearchBarRenderer
タイプではないことですEditText
。動作しません。
XMLレイアウトで使用android:backgroundTint=""
しますEditText
。
api <21の場合AppCompatEditText
、サポートライブラリから使用できますapp:backgroundTint=""
android:background="@null"
API <21のデバイス用。
EditText
(フォーカス、有効、アクティブ化)の状態ごとに、色ではなく、異なる背景画像を使用する必要があります。
http://android-holo-colors.com/
上記のサイトでは、Holoテーマの多くのコンポーネントから画像を取得できます。「EditText」と希望の色を選択するだけです。ページの下部にプレビューが表示されます。
.zipファイルをダウンロードし、プロジェクト内のリソース(画像とXML)をコピーして貼り付けます。
XMLの名前がapptheme_edit_text_holo_light.xml(または類似のもの)の場合:
XMLの「styles.xml」に移動して、カスタムEditText
スタイルを追加します。
<style name="EditTextCustomHolo" parent="android:Widget.EditText">
<item name="android:background">@drawable/apptheme_edit_text_holo_light</item>
<item name="android:textColor">#ffffff</item>
</style>
ちょうどあなたの中でこれをしてくださいEditText
:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/EditTextCustomHolo"/>
それでおしまいです。お役に立てば幸いです。
これは、Androidの新旧バージョンで正常に機能します(API 10でも正常に機能します)。
このスタイルを以下で定義しますstyles.xml
。
<style name="EditText.Login" parent="Widget.AppCompat.EditText">
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorHint">@android:color/darker_gray</item>
<item name="colorAccent">@color/blue</item>
<item name="colorControlNormal">@color/blue</item>
<item name="colorControlActivated">@color/blue</item>
</style>
そして今、あなたのXMLで、これをテーマとスタイルとして設定します(設定するスタイルtextColor
、および他のすべてのものを設定するテーマ):
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
style="@style/EditText.Login"
android:theme="@style/EditText.Login"/>
このソリューションは、選択ハンドルに下線が付いている新しいAndroidバージョン(LollipopまたはMarshmallow以降)で小さなUIグリッチを引き起こします。
あなたは変更することができ下線ののEditTextでそれを指定した色のstyles.xmlを。アプリのテーマstyles.xmlに以下を追加します。
<item name="android:textColorSecondary">@color/primary_text_color</item>
コメント欄でアナが指摘したように
<item name="android:colorControlActivated">@color/black</item>
これをテーマスタイルで設定すると、edittextの下線の色を変更するのに適しています。
android:textColorSecondary
戻る矢印とDrawerLayout
ハンバーガーアイコンの色を決定するためにも使用されることに注意してください。
<item name="colorControlNormal">@color/edittext_underline_color</item>
ナビゲーションバーの色の問題のため、textColorSecondaryの代わりに使用しました。
したがって、ドローアブルフォルダーに新しい.xmlファイルを作成する必要があります。
そのファイルに次のコードを貼り付けます。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="8dp"
android:left="-3dp"
android:right="-3dp"
android:top="-3dp">
<shape android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/white"/>
</shape>
</item>
</layer-list>
そしてEditTextで、
android:background="@drawable/your_drawable"
ドローアブルxmlで遊んだり、コーナーやパディングを設定したりできます。
アプリのスタイルで、プロパティcolorAccentを定義します。ここに例があります
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/action_bar</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/action_bar</item>
</style>
次のコード行を使用するだけで、プログラムでEditTextの色を簡単に変更できます。
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
以下のコードを使用して、編集テキストの境界線の背景色を変更します。
ドローアブルの下に新しいXMLファイルを作成します。
abc.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#00000000" />
<stroke android:width="1dip" android:color="#ffffff" />
</shape>
エディットテキストの背景として追加します
android:background="@drawable/abc"
ボトムラインの色を変更するには、これをアプリのテーマで使用できます:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">#ffe100</item>
<item name="colorControlHighlight">#ffe100</item>
</style>
フローティングラベルの色を変更するには、次のテーマを記述します。
<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">#4ffd04[![enter image description here][1]][1]</item>
</style>
レイアウトでこのテーマを使用します。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<EditText
android:id="@+id/edtTxtFirstName_CompleteProfileOneActivity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:capitalize="characters"
android:hint="User Name"
android:imeOptions="actionNext"
android:inputType="text"
android:singleLine="true"
android:textColor="@android:color/white" />
</android.support.design.widget.TextInputLayout>
AppCompatEditTextとカラーセレクターでそれを行うことができます:
<androidx.appcompat.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:backgroundTint="@color/selector_edittext_underline" />
selector_edittext_underline.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/focused_color"
android:state_focused="true" />
<item android:color="@color/hint_color" />
</selector>
API <21のデバイスをサポートする必要がない場合は、xmlでbackgroundHintを使用します。次に例を示します。
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:hint="Task Name"
android:ems="10"
android:id="@+id/task_name"
android:layout_marginBottom="15dp"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textColorLink="@color/blue"
android:textColorHint="@color/blue"
android:backgroundTint="@color/lighter_blue" />
サポートとフォールバックを改善するには、@ Akariuzソリューションを使用します。backgroundHintは最も簡単なソリューションですが、要件に基づいて、下位互換性はありません。