он работал для меня на 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)
Используйте ''
, а не ""
Этот код работает, но письмо было получено с задержкой в полчаса
На самом деле вы можете установить стиль по умолчанию для 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 и далее отлично работаю.
Есть два способа сделать это:
Вы можете определить свои собственные стили, создав файлы 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-тем и Стили
Это еще один возможный способ достичь этого, и он должен был предоставить ваш собственный 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>
Используете ли вы один или другой выбор зависит от ваших потребностей. Если единственное, что вы хотите сделать, это изменить внешний вид, тогда лучший подход будет первым. С другой стороны, если вы хотите изменить внешний вид и добавить некоторые новые функции в свои виджеты, второй вариант - это путь.
Для цвета текста по умолчанию в TextView
установите android:textColorTertiary
в своей теме на нужный цвет:
<item name="android:textColorTertiary">@color/your_text_color</item>
Многие другие цвета элемента управления Android можно контролировать с помощью атрибутов фреймворка или поддерживать атрибуты библиотеки, если вы используете библиотеку поддержки.
Для получения списка атрибутов, которые вы можете установить, проверьте исходный код Android из styles.xml
и themes.xml
, или это очень полезно gist Дэн Лью, попробуйте изменить каждое значение и посмотреть, что они меняют на экране.
Определите стиль и используйте его для каждого виджета, определите тему, которая переопределяет андроид по умолчанию для этого виджета или задает строковый ресурс и ссылается на него в каждом виджетах
<item name="android:textViewStyle">@style/MyTextViewStyle</item>
в стиле MyTheme, а затем применил стиль к моему приложению, все моиTextView
s будут показаны в соответствии со стилем (даже имя приложения на панели действий). Как исправить проблему с помощью панели действий? Я хочу, чтобы он имел вид по умолчанию. Github – Maksim Dmitriev 25 December 2012 в 13:02<item name="android:textViewStyle">@style/MyTextViewStyle</item>
туда, просто указывая на значение ActionBar по умолчанию (или что-то подобное) – Steve Pomeroy 10 December 2013 в 23:09