Хотя это старый вопрос, у меня была такая же проблема, и, возможно, она помогает другим. Это была важная часть моего адаптера:
public View getView(int position, View convertView, ViewGroup parent) {
Display display = ((WindowManager) c.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
LayoutInflater inflater = LayoutInflater.from(c);
View view = inflater.inflate(R.layout.date_list_item, parent,false);
view.setLayoutParams(new Gallery.LayoutParams(width/3, Gallery.LayoutParams.MATCH_PARENT));
Я хотел, чтобы три предмета показывались одновременно, поэтому я взял parent.getWidth()/3
. однако это привело галерею к началу между двумя видами. Получение ширины дисплеев, показанной в верхнем примере кода, работало нормально для меня