Панель инструментов будет скрываться при выходе клавиатуры [дубликат]

он работал для меня на 000webhost, выполнив следующие действия:

$headers  = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: ". $from. "\r\n";
$headers .= "Reply-To: ". $from. "\r\n";
$headers .= "X-Mailer: PHP/" . phpversion();
$headers .= "X-Priority: 1" . "\r\n"; 

Введите адрес электронной почты при отправке электронной почты

mail('email@gmail.com', $subject, $message, $headers)

Используйте '', а не ""

Этот код работает, но письмо было получено с задержкой в ​​полчаса

96
задан Chris Stillwell 12 April 2016 в 20:16
поделиться

4 ответа

На самом деле вы можете установить стиль по умолчанию для TextViews (и большинства других встроенных виджетов) без необходимости выполнять собственный класс java или настраивать стиль отдельно.

Если вы посмотрите в themes.xml в Android-источнике, вы увидите кучу атрибутов для стиля по умолчанию для различных виджетов. Ключ - это атрибут textViewStyle (или editTextStyle и т. Д.), Который вы переопределяете в своей настраиваемой теме. Вы можете переопределить их следующим образом:

Создать styles.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="android:Theme">
    <item name="android:textViewStyle">@style/MyTextViewStyle</item>
</style>

<style name="MyTextViewStyle" parent="android:Widget.TextView">
    <item name="android:textColor">#F00</item>
    <item name="android:textStyle">bold</item>
</style>
</resources>

Затем просто примените эту тему к вашему приложению в AndroidManifest.xml:

<application […] android:theme="@style/MyTheme">…

И все ваши текстовые представления по умолчанию будут соответствовать стилю, определенному в MyTextViewStyle (в данном случае жирным и красным)!

Это было протестировано на устройствах с уровня API 4 и далее отлично работаю.

204
ответ дан Steve Pomeroy 21 August 2018 в 11:12
поделиться
  • 1
    Самое элегантное решение, которое я видел до сих пор. – Italo Borssatto 2 September 2011 в 18:42
  • 2
    @Steve, если я включу элемент <item name="android:textViewStyle">@style/MyTextViewStyle</item> в стиле MyTheme, а затем применил стиль к моему приложению, все мои TextView s будут показаны в соответствии со стилем (даже имя приложения на панели действий). Как исправить проблему с помощью панели действий? Я хочу, чтобы он имел вид по умолчанию. Github – Maksim Dmitriev 25 December 2012 в 13:02
  • 3
    @Steve, как применить тему (действие и виджет) в приложении – Pratik Butani 29 June 2013 в 08:51
  • 4
    Я не уверен, как отличить ActionBar от других вещей. Вы можете найти везде, где установлен ваш стиль ActionBar, а затем помещать <item name="android:textViewStyle">@style/MyTextViewStyle</item> туда, просто указывая на значение ActionBar по умолчанию (или что-то подобное) – Steve Pomeroy 10 December 2013 в 23:09
  • 5
    @StevePomeroy это не работает для меня .. можете ли вы предоставить некоторую поддержку. Мой стиль для TextViews остается прежним. Есть ли минимальный набор элементов, которые мне нужно установить или есть некоторые элементы, которые мне не разрешено устанавливать? – Mike 17 December 2014 в 22:56

Есть два способа сделать это:

1. Использование стилей

Вы можете определить свои собственные стили, создав файлы XML в каталоге res/values. Итак, предположим, что вы хотите иметь красный и полужирный текст, тогда вы создаете файл с этим контентом:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyRedTheme" parent="android:Theme.Light">
    <item name="android:textAppearance">@style/MyRedTextAppearance</item>
  </style>
  <style name="MyRedTextAppearance" parent="@android:style/TextAppearance">
    <item name="android:textColor">#F00</item>
    <item name="android:textStyle">bold</item>
  </style>
</resources>

Вы можете назвать его так, как хотите, например res/values/red.xml. Тогда единственное, что вам нужно сделать, это использовать это представление в виджетах, которые вы хотите, например:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    style="@style/MyRedTheme"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="This is red, isn't it?"
    />
</LinearLayout>

. Для получения дополнительной информации вы можете прочитать эту статью: Понимание Android-тем и Стили

2. Использование пользовательских классов

Это еще один возможный способ достичь этого, и он должен был предоставить ваш собственный TextView, который всегда устанавливал цвет текста независимо от того, что вы хотите; например:

import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.widget.TextView;
public class RedTextView extends TextView{
    public RedTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setTextColor(Color.RED);
    }
}

Затем вам просто нужно рассматривать его как нормальный TextView в вашем XML-файле:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<org.example.RedTextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="This is red, isn't it?"
    />
</LinearLayout>

Используете ли вы один или другой выбор зависит от ваших потребностей. Если единственное, что вы хотите сделать, это изменить внешний вид, тогда лучший подход будет первым. С другой стороны, если вы хотите изменить внешний вид и добавить некоторые новые функции в свои виджеты, второй вариант - это путь.

40
ответ дан Cristian 21 August 2018 в 11:12
поделиться
  • 1
    использование пользовательских классов должно быть предпочтительным, так как это более чистый подход и помогает сохранить легкий xml-файл. – Amit Kumar 13 February 2016 в 08:39

Для цвета текста по умолчанию в TextView установите android:textColorTertiary в своей теме на нужный цвет:

<item name="android:textColorTertiary">@color/your_text_color</item>

Многие другие цвета элемента управления Android можно контролировать с помощью атрибутов фреймворка или поддерживать атрибуты библиотеки, если вы используете библиотеку поддержки.

Для получения списка атрибутов, которые вы можете установить, проверьте исходный код Android из styles.xml и themes.xml, или это очень полезно gist Дэн Лью, попробуйте изменить каждое значение и посмотреть, что они меняют на экране.

2
ответ дан hidro 21 August 2018 в 11:12
поделиться
  • 1
    Спасибо, мужик! Я потратил кучу времени на выяснение, почему textColorPrimary не работает. – pratt 9 June 2017 в 12:40

Определите стиль и используйте его для каждого виджета, определите тему, которая переопределяет андроид по умолчанию для этого виджета или задает строковый ресурс и ссылается на него в каждом виджетах

3
ответ дан TWH 21 August 2018 в 11:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: