Текст отображается тускло (изначально) при попытке создать галерею макетов - PullRequest
1 голос
/ 07 ноября 2011

Я пытаюсь создать галерею, которая работает аналогично рынку Android, где вы можете прокручивать (влево / вправо) для просмотра бесплатных или платных приложений и т. Д. Также можно прокручивать макет вверх и вниз. 1001 *

Пока у меня есть загрузка двух макетов с простым "Hello World!" текстовое представление и "Эй! Как дела?" просмотр текста.

Они загружаются нормально, за исключением того, что первоначально текст в позиции 0 галереи отображается тусклым, пока я не прокручиваю назад и не возвращаюсь к нему. Я что-то упускаю?

public class HelloGallery extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Gallery gallery = (Gallery)findViewById(R.id.gallery);
        gallery.setAdapter(new ViewAdapter(this));

        gallery.setOnItemClickListener(new OnItemClickListener()
        {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id)
            {
                Toast.makeText(HelloGallery.this, "" + position, Toast.LENGTH_SHORT).show();
            }
        });
    }
}


public class ViewAdapter extends BaseAdapter
{
    public Context mContext;
    public static final Integer[] viewId = { R.layout.helloworld, R.layout.heyhowareyou };
    public int mGalleryItemBackground;

    public ViewAdapter(Context context)
    {
        this.mContext = context;
        TypedArray attr = context.obtainStyledAttributes(R.styleable.HelloGallery);
        mGalleryItemBackground = attr.getResourceId(R.styleable.HelloGallery_android_galleryItemBackground, 0);
        attr.recycle();
    }

    @Override
    public int getCount()
    {
        return viewId.length;
    }

    public Object getItem(int position)
    {
        return position;
    }

    public long getItemId(int position)
    {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        convertView = LayoutInflater.from(mContext).inflate(viewId[position], null);
        convertView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        convertView.setBackgroundResource(mGalleryItemBackground);
        return convertView;
    }
}

Я также немного упомянул об этом. То, что делает Aavon в этой теме, именно то, к чему я пытаюсь добраться ...

Ссылка на тему: Получить кнопку для работы в галерее с раздутыми макетами

Любая помощь?
Заранее спасибо.

1 Ответ

1 голос
/ 09 ноября 2011

В моем макете XML я обнаружил, что не устанавливал цвет текста, который появлялся на экране.Когда я устанавливаю этот цвет, при загрузке макета текст больше не тускнеет.

...