Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GridView c горизонтальной прокруткой 
:(
    Опции темы
Dima87
Дата 16.9.2013, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 14.4.2006

Репутация: нет
Всего: нет



Всем привет!
В общем у меня проблемка, как видно из темы, с горизонтальной прокруткой в GridView.
На экране отображается только минимум. Строка для ввода текста, напротив кнопка поиска и ниже гридвью с отображением примененного фильтра. В этой таблице некое количество столбцов, которое не помещается в один экран. Как я уже не пробовал, но у меня не получается сделать эту горизонтальную прокрутку. 

файл main.xml
Код

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="top"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0" >

        <EditText
            android:id="@+id/editSearch"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" >

            <requestFocus />
        </EditText>

        <Button
            android:id="@+id/btnSearch"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:text="Поиск" />

    </LinearLayout>

    <GridView
        android:id="@+id/gridTelephone"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:columnWidth="300dp"
        android:fadingEdge="horizontal"
        android:numColumns="3"
        android:scrollbars="horizontal"
        android:stretchMode="none" >
    </GridView>

</LinearLayout>



Прошу помочь либо исправить ошибки в существующем файле, либо показать рабочий примерчик.
PM MAIL   Вверх
Felan
Дата 16.9.2013, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 2.8.2007
Где: Самара

Репутация: нет
Всего: 7



Ну можешь обернуть совй GridView в HorizontalScrollview.

Хотя вообще лучше прочитай про GridView побольше и сделай что бы он сам вычислял нужное количество столбцов.

Горизонтальный скроллинг это не очень хорошо. Не удобный он.


--------------------
// Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного.
PM MAIL WWW ICQ   Вверх
Dima87
Дата 16.9.2013, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 14.4.2006

Репутация: нет
Всего: нет



Не получается обвернуть HorizontalScrollview. Он все равно не скролится. Максимум скролит до первой буквы второго столбца и все. Что я не так делаю!? 
Можно какой-нибудь примерчик где будет гридвью из 3 столбцов с разной шириной и общая ширина была больше экрана и было наглядно видеть горизонтальную прокруткую
PM MAIL   Вверх
Felan
Дата 16.9.2013, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 2.8.2007
Где: Самара

Репутация: нет
Всего: 7



Цитата(Dima87 @  16.9.2013,  17:26 Найти цитируемый пост)
Не получается обвернуть HorizontalScrollview. Он все равно не скролится. Максимум скролит до первой буквы второго столбца и все. Что я не так делаю!? 

Незнаю. Покажи свой код, может быть найдется ошибка.


Цитата(Dima87 @  16.9.2013,  17:26 Найти цитируемый пост)
Можно какой-нибудь примерчик где будет гридвью из 3 столбцов с разной шириной и общая ширина была больше экрана и было наглядно видеть горизонтальную прокруткую 

У меня нету.


--------------------
// Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного.
PM MAIL WWW ICQ   Вверх
Dima87
Дата 17.9.2013, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 14.4.2006

Репутация: нет
Всего: нет



main.xml
Код

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <HorizontalScrollView
        android:id="@+id/horizontalScrollView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <LinearLayout
            android:id="@+id/LinearLayout2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <GridView
                android:id="@+id/gridView1"
                android:layout_width="250dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:numColumns="3" >

            </GridView>
        </LinearLayout>
    </HorizontalScrollView>

</LinearLayout>



item.xml
Код

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

<TextView
 android:id="@+id/tvText"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:gravity="center_vertical"
 android:minHeight="40dp"
 android:textSize="20sp"
 android:text="">
</TextView>
</LinearLayout>


Рабочий код из MainActivity.java
Код

public class MainActivity extends Activity {

    GridView gridView1;
    String[] dataTelephone;
    ArrayAdapter<String> adapter;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        gridView1 = (GridView) findViewById(R.id.gridView1);
        outTable("");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
    
    private void outTable(String search)
    {
          dataTelephone = new String[9];
          
          dataTelephone[0] = "000000000000000000000000";
          dataTelephone[1] = "111111111111111111111111";
          dataTelephone[2] = "222222222222222222222222";
       dataTelephone[3] = "333333333333333333333333";
       dataTelephone[4] = "444444444444444444444444";
       dataTelephone[5] = "555555555555555555555555";
       dataTelephone[6] = "666666666666666666666666";
       dataTelephone[7] = "777777777777777777777777";
       dataTelephone[8] = "888888888888888888888888";
       

        adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, dataTelephone);
        
        gridView1.setAdapter(adapter);

    }

}


Я тут подумал, может там проблема с adapter.
PM MAIL   Вверх
Felan
Дата 17.9.2013, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 2.8.2007
Где: Самара

Репутация: нет
Всего: 7



Думаю, что надо убрать принудительную заданную ширину грида. Она у тебя стоит в 250dip. Похоже, что как раз в эта ширина как раз и есть "до первой буквы" второго столбца... Поставь wrap_content, и убери вес. Он тоже не нужен.

И еше LinearLayout2 лишний. Ну судя по коду. Если нигде его не используешь, то удали. Вообще есть ограичение на количество вложенных лэйаутов.

Остальное выглядит нормально...


--------------------
// Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного.
PM MAIL WWW ICQ   Вверх
Dima87
Дата 18.9.2013, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 14.4.2006

Репутация: нет
Всего: нет



поменял в файле main.xml 
Код

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <HorizontalScrollView
        android:id="@+id/horizontalScrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <GridView
            android:id="@+id/gridView1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:numColumns="3" >
        </GridView>
    </HorizontalScrollView>

</LinearLayout>


По сути ничего не меняется. Мало того, гридвью сворачивается в маленькую трубочку в которой даже одного символа не видно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.