У меня есть Edittext в моем приложении. Я поставил это по умолчанию черного цвета следующим образом в XML:android: textColor фактически не работает
android:textColor="@android:color/black"
ВИД:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:context="scientificcalculatorapp.scientificcalculator.ScientificCalculator"
android:weightSum="1"
android:orientation="vertical"
android:layout_alignParentBottom="true">
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/transparent"
android:focusable="true"
android:focusableInTouchMode="true">
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="48dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/Output"
android:enabled="true"
android:focusable="true"
android:longClickable="true"
android:inputType="text"
android:textIsSelectable="true"
android:cursorVisible="true"
android:textColor="@android:color/black"
android:bufferType="spannable"
android:background="@android:color/darker_gray"
android:allowUndo="true" />
</LinearLayout>
Это работает, когда я получаю информацию от моей клавиатуры, но когда я копирую что-то в другом цвете из другого приложения, а затем вставьте его в этот EditText, текст будет вставлен в этот другой цвет, а не черный.
Как я могу стандартизировать цвет, чтобы быть черным, независимо от какого бы цвета я скопировал его в
UPDATE:.
output.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
String yourCopiedString=output.getText().toString();
int length = yourCopiedString.length();
Spannable spannable= new SpannableString(yourCopiedString);
//set color
//set size
spannable.setSpan(new ForegroundColorSpan(Color.BLACK), 0,length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(new RelativeSizeSpan(5.0f), 0,length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
output.setText(spannable);
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
});
Что делать, если 'backgroundColor' делает это? ??? –
Мой цвет фона уже имеет темный серый цвет. Однако, если я вставляю зеленый цвет текста, я получаю зеленый текст в текстовом редакторе. Я не получаю черный (что хочу) или серый, как вы упоминали @SatanPandey a –
Опубликуйте свой файл 'layout'. –