Intereting Posts
Кнопка «Назад» не работает после отображения контакта Как определить, является ли пользовательская клавиатура Swype? Неподдерживаемая версия major.minor 52.0 в моем приложении Менеджер местоположений Android, получить местоположение GPS, если нет GPS, затем перейдите в местоположение поставщика сети Android – findViewById (R.id.list) возвращает null ScrollView внутри галереи, прокручивая независимо Ошибка компиляции в «Использовать Facebook Войти» SDK ActionBarSherlock с ViewPager, не вызывающим методы жизненного цикла фрагментов ViewPager при переходе и возврате из backstack Android Black Скриншот в DDMS: проблема? Или Причина безопасности? Файл Project.properties вместо файла default.properties Java: эффективная фильтрация ArrayList? Можете ли вы использовать тег слияния с фрагментами? Каков наилучший способ «настройки приложения» в Android? Android FragmentTransaction setTransitionStyle Ограничить количество ключей API Карт Google, связанных с данным отпечатком SHA-1 (то есть отладочным хранилищем)?

Как центрировать макет вертикально в андроиде через java-код?

друзья,

Я хочу установить android: layout_centerVertical = "true" свойство макета через java-код изображения.

Может ли кто-нибудь помочь мне в этом. Вот мой код.

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.height = (int)totalHeight; img.setLayoutParams(params); 

Я попытался использовать setScaleType (ScaleType.FIT_CENTER), но не использовал.

Любая помощь будет назначена.

Solutions Collecting From Web of "Как центрировать макет вертикально в андроиде через java-код?"

Исправьте меня, если я ошибаюсь, но похоже, что вы пытаетесь установить выравнивание (или позиционную ориентацию) изображения внутри макета? Для этого вам нужно установить свойство тяжести макета, содержащего выровненный вид.

  Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon); RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); ImageView imageView = new ImageView(this); imageView.setLayoutParams(params); imageView.setImageBitmap(bitmap); layout.setGravity(Gravity.CENTER_VERTICAL | Gravity.TOP); layout.addView(imageView); 

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

Попробуйте этот код.

 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams ((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.CENTER_VERTICAL); img.setLayoutParams(params); 

В новом SDK нет Gravity.VERTICAL_CENTER , но, возможно, вы можете установить это с помощью layout.setGravity(Gravity.CENTER) .