У меня есть экран предпочтений в моем приложении, который имеет только один элемент. Экран отображается хорошо на всех устройствах, но когда я просматриваю его на 10-дюймовых планшетах .. Я вижу фон для экрана. Пожалуйста, обратитесь к изображению ...Настройки Экран Фон Проблема Android
Я не добавляю фона в макет. Не уверен, почему он появляется.
settings.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="@string/generalSettings" />
<EditTextPreference
android:title="@string/distance_title"
android:inputType="number"
android:summary="@string/distance_text"
android:key="@string/distance_key"
android:defaultValue="5"/>
</PreferenceScreen>
Позвольте мне знать, если вам нужна любая другая информация.
[EDIT]
Вот ява код для настройки:
@TargetApi(11)
public class SettingsFragment extends PreferenceFragment implements
OnPreferenceClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
addPreferencesFromResource(R.xml.settings);
init();
findPreference(Const.Prefs.DISTANCE_KEY).setOnPreferenceClickListener(
this);
}
@Override
public boolean onPreferenceClick(Preference preference) {
return false;
}
private void init() {
// Fix PreferenceFragment's padding...
final DisplayMetrics metrics = Resources.getSystem()
.getDisplayMetrics();
float scale = metrics.density;
int paddingSize = 0;
if (android.os.Build.VERSION.SDK_INT < 14) {
paddingSize = (int) (-32 * scale);
} else {
paddingSize = (int) (-16 * scale);
}
final View v = getView();
v.setPadding(paddingSize, 0, paddingSize, 0);
}
}
[EDIT]
я переехал Init() в onActivityCreated(), но все-таки я см. дополнение. Ниже приведен текущий код. Также найдите последний снимок экрана.
@TargetApi(11)
public class SettingsFragment extends PreferenceFragment implements
OnPreferenceClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
addPreferencesFromResource(R.xml.settings);
findPreference(Const.Prefs.DISTANCE_KEY).setOnPreferenceClickListener(
this);
}
@Override
public boolean onPreferenceClick(Preference preference) {
return false;
}
private void init() {
// Fix PreferenceFragment's padding...
final DisplayMetrics metrics = Resources.getSystem()
.getDisplayMetrics();
float scale = metrics.density;
int paddingSize = 0;
if (android.os.Build.VERSION.SDK_INT < 14) {
paddingSize = (int) (-32 * scale);
} else {
paddingSize = (int) (-16 * scale);
}
final View v = getView();
v.setPadding(paddingSize, 0, paddingSize, 0);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
init();
}
}
Обновлено Скриншот:
Вы пробовали работает это увидеть выход? Предварительный просмотр макета и фактический макет не всегда одинаковы визуально – Doomsknight
@Doomsknight, Да, изображение взято из самого выхода. –
Извините, вы нарисовали коробки, чтобы скрыть информацию. Достаточно честно, на первый взгляд это выглядело как предварительный просмотр: D Кажется немного странным, почему линия проходит через «настройки» – Doomsknight