Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
#1

Скролл меняет размер при скролле PreferenceScreen - Android

27.03.2016, 12:32. Просмотров 168. Ответов 2
Метки нет (Все метки)

Main.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Main extends PreferenceActivity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.activity);
        PreferenceScreen screen = this.getPreferenceScreen();
 
        PreferenceCategory category;
        category = new PreferenceCategory(screen.getContext());
        category.setTitle("Basic information");
        screen.addPreference(category);
 
        PreferenceDetail preferenceDetail;
        preferenceDetail = new PreferenceDetail(screen.getContext(), "Type", "My long text");
        category.addPreference(preferenceDetail);
        preferenceDetail = new PreferenceDetail(screen.getContext(), "Health", "My long text");
        category.addPreference(preferenceDetail);
        preferenceDetail = new PreferenceDetail(screen.getContext(), "Speed", "My long text");
        category.addPreference(preferenceDetail);
        PreferenceText preferenceText;
        preferenceText = new PreferenceText(screen.getContext(), "My long text");
        category.addPreference(preferenceText);
    }
activity.xml
XML
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:orderingFromXml="true">
 
</PreferenceScreen>
PreferenceDetail.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class PreferenceDetail extends Preference {
 
    String titleText, descriptionText;
 
    public PreferenceDetail(Context context, String title, String descriprion) {
        super(context);
        titleText = title;
        descriptionText = descriprion;
    }
 
    protected View onCreateView( ViewGroup parent )
    {
        super.onCreateView(parent);
        LayoutInflater li = (LayoutInflater) getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE );
        View view = li.inflate(R.layout.preference_detail, parent, false);
        ((TextView) view.findViewById(R.id.preferenceDetailTitle)).setText(titleText);
        ((TextView) view.findViewById(R.id.preferenceDetailDescription)).setText(descriptionText);
        return view;
    }
}
preference_detail.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/widget_frame"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingRight="8dp"
    android:paddingTop="8dp"
    android:paddingBottom="8dp"
    android:paddingLeft="16dp"
    android:orientation="vertical" >
 
    <TextView
        android:id="@+id/preferenceDetailTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="17dp"
        android:textColor="?android:attr/textColorSecondary"
        android:text="Title"/>
 
    <TextView
        android:id="@+id/preferenceDetailDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/title"
        style="@android:style/TextAppearance.DeviceDefault.SearchResult.Subtitle"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="Summary"/>
 
</LinearLayout>
Если скролить, то ползунок уменьшается и увеличивается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2016, 12:32     Скролл меняет размер при скролле PreferenceScreen
Посмотрите здесь:

Android Скролл без обновления канваса
Добавление View (кнопки) в PreferenceScreen Android
Размер фона уменьшается при добавлении кнопки Android
Android Добавить скролл
Android Размер шрифта, размер контролов
Android Почему при смене цвета кнопка меняет свой размер?
Android Размер кнопок, не пойму что влияет на их размер
Android Как подгонять размер диалоговых окон по размер экрана?
Android Одновременный скролл нескольких ListView
Убрать скролл в ListView Android
Background меняет height компонента Android
Android label меняет размер текста при смене ориентации Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
31.03.2016, 10:41     Скролл меняет размер при скролле PreferenceScreen #2
Возможно проблема в том, что список не знает, какого размера будут элементы внутри, соответственно пока они не появятся, размер ползунка рассчитывается на основании текущих данных.
Вы можете задать фиксированную высоту для каждого элемента списка и всё придет в норму, но думаю это не ваш случай.
97mik
11 / 11 / 0
Регистрация: 08.04.2009
Сообщений: 878
31.03.2016, 14:45  [ТС]     Скролл меняет размер при скролле PreferenceScreen #3
Добавлено через 36 секунд
Цитата Сообщение от MonStar Посмотреть сообщение
Вы можете задать фиксированную высоту для каждого элемента списка
А как это сделать?
Yandex
Объявления
31.03.2016, 14:45     Скролл меняет размер при скролле PreferenceScreen
Ответ Создать тему
Опции темы

Текущее время: 00:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru