Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Программная установка ширины и высоты
Если элемент, к примеру, тот же TextView создается в коде java, то для установки высоты и ширины можно использовать метод setLayoutParams(). Так, изменим код MainActivity: package com.example.eugene.layoutapp; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); RelativeLayout relativeLayout = new RelativeLayout(this); TextView textView1 = new TextView(this); textView1.setText(" Hello Android 7" ); textView1.setTextSize(26); // устанавливаем размеры textView1.setLayoutParams(new ViewGroup.LayoutParams (ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); // добавляем TextView в RelativeLayout relativeLayout.addView(textView1); setContentView(relativeLayout); }}В метод setLayoutParams() передается объект ViewGroup.LayoutParams. Этот объект инициализируется двумя параметрами: шириной и высотой. Для указания ширины и высоты можно использовать одну из констант ViewGroup.LayoutParams.WRAP_CONTENT или ViewGroup.LayoutParams.MATCH_PARENT. Также мы можем передать точные значения или комбинировать типы значений: textView1.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 200));Внутренние и внешние отступы Параметры разметки позволяют задать отступы как от внешних границ элемента до границ контейнера, так и внутри самого элемента между его границами и содержимым. Padding Для установки внутренних отступов применяется атрибут android: padding. Он устанавливает отступы контента от всех четырех сторон контейнера. Можно устанавливать отступы только от одной стороны контейнера, применяя следующие атрибуты: android: paddingLeft, android: paddingRight, android: paddingTop и android: paddingBottom. У контейнера RelativeLayout установлен только один общий внутренний отступ в 50 единиц. У TextView установлен отступ между верхней границей элемента и его внутренним содержимым (то есть текстом) в 60 единиц и отступ слева в 40 единиц: Margin Для установки внешних остступов используется атрибут layout_margin. Данный атрибут имеет модификации, которые позволяют задать отступ только от одной стороны: android: layout_marginBottom, android: layout_marginTop, android: layout_marginLeft и android: layout_marginRight (отступы соответственно от нижней, верхней, левой и правой границ): <? xml version=" 1.0" encoding=" utf-8"? > < RelativeLayout xmlns: android=" http: //schemas.android.com/apk/res/android" android: id=" @+id/activity_main" android: layout_width=" match_parent" android: layout_height=" match_parent" android: paddingTop=" 50dp" > < TextView android: text=" Hello Android 7" android: layout_height=" match_parent" android: layout_width=" match_parent" android: layout_marginTop=" 50dp" android: layout_marginBottom=" 60dp" android: layout_marginLeft=" 60dp" android: layout_marginRight=" 60dp" android: textSize=" 26sp" android: background=" #e0e0e0" /> < /RelativeLayout>Здесь у TextView задаются отступы от каждой стороны RelativeLayout. И стоит отметить, что у самого RelativeLayout установлен внутренний отступ сверху в 50 единиц, который также учитывается при формировании внешнего отступа сверху у TextView, поэтому общее расстояние от верхней границы TextView до верхнего края RelativeLayout будет составлять 100 единиц: |
Последнее изменение этой страницы: 2019-05-04; Просмотров: 289; Нарушение авторского права страницы