Как программно центрировать индикатор в макете? - PullRequest
1 голос
/ 18 мая 2011

Я хочу программно центрировать мои индикаторы выполнения в коде.Вот мой код:

  LinearLayout streamLayout = new LinearLayout(this);
            streamLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
            streamLayout.setOrientation(LinearLayout.VERTICAL);
            streamLayout.setGravity(Gravity.CENTER);

            LinearLayout newsLayout = new LinearLayout(this);
            streamLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
            streamLayout.setOrientation(LinearLayout.VERTICAL);
            streamLayout.setGravity(Gravity.CENTER);

            mSwipeView.addView(streamLayout);
            mSwipeView.addView(newsLayout);
            mSwipeView.addView(new LinearLayout(this));

            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(0)).addView(streamListView);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(0)).addView(streamProgressBar);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(1)).addView(newsListView);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(1)).addView(newsProgressBar);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(2)).addView(chartImageView);

Как я могу получить индикатор выполнения по центру по вертикали и по горизонтали в моем макете?

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Попробуйте использовать LinearLayout.layoutParams и установить их для представления.они содержат гравитацию поля, которую вы можете установить в Gravity.CENTER или аналогичную.

См. эту ссылку

0 голосов
/ 18 мая 2011
View.setScaleType(ScaleType.CENTER_INSIDE);// or fitCenter

Надеюсь, это поможет:)

...