Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программная установка ширины и высоты



Если элемент, к примеру, тот же 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.

<? 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: padding=" 50dp" > < TextView android: text=" Hello Android 7"    android: layout_height=" match_parent"    android: layout_width=" match_parent"    android: textSize=" 26sp"    android: background=" #e0e0e0"    android: paddingTop=" 60dp"    android: paddingLeft=" 40dp" /> < /RelativeLayout>

У контейнера 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; Просмотров: 267; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.01 с.)
Главная | Случайная страница | Обратная связь