воскресенье, 26 сентября 2010 г.

Java: Android: Виджеты

TextView(label):

android:text - определяет текст виджета;
android:typeface - monospace.
android:textStyle - определяет стиль текста: bold, italic, bold_italic;
android:textColor - определяет цвет текста;
android:layout_width - длина лэйаута;
android:layout_height - высота лэйаута;



Пример:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Some label"
/>

Button:

Является подклассом TextView, таким образом наследует все проперти от суперкласса.

android:onClick - появился с версии Android 1.6, определяет метод, который будет выполняться по клику: метод должен быть описан как public в Activity, принимать один параметр View и являться void.

Пример:

Имеем в Activity следующий класс:
public void someMethod(View theButton) {
// код обработки по клику
}

Далее объявляем в лэйауте:

<Button
android:onClick="someMethod"
...
/>

ImageView и ImageButton:

Являются наследниками описанных выше и наследуют все их свойства.

android:src - определяет источник картинки;

Пример:


<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/icon"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:src="@drawable/molecule"
/>

EditText:

Является дочерним классом класса TextView.

android:autoText - авто правописание:
android:capitalize - делает первую букву текста заглавной;
android:digits - позволяет вводить в поле только цифры;
android:singleLine - определяет будет поле в одну строку или в несколько(по ентеру либо переходит на следующий виджет, либо на следующую строку);

Пример:


<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/field"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:singleLine="false"
/>

CheckBox:

Является дочерним класса TextView.


В Java коде мы можем использовать следующие методы:

isChecked() - возвращает значения состояния чекбокса;
setChecked() - чекает/анчекает чекбокс;
toggle() - имитирует нажатие на чекбокс;

Пример:


<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This checkbox is: unchecked" />

Java:


public class CheckBoxDemo extends Activity
implements CompoundButton.OnCheckedChangeListener {
CheckBox cb;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
cb=(CheckBox)findViewById(R.id.check);
cb.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
cb.setText("This checkbox is: checked");
}
else {
cb.setText("This checkbox is: unchecked");
}
}
}

RadioButton и RadioGroup:

Наследуется от CompoundButton, который в свою очередь наследуется от TextView.
Зачастую RadioButton помещают в RadioGroup.
Для RadioGroup в коде можно использовать следующие методы:

check() - проверяет кнопку по id (group.check(R.id.radio1));
clearCheck() - очищает группу таким образом, что ни одна из радиокнопок не остается чекнутой;
getCheckedRadioButtonId() - возвращает id чекнутой радиокнопки(-1, если ни одна не чекнута);

Пример:


<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RadioButton android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rock" />
<RadioButton android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Scissors" />
<RadioButton android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Paper" />
</RadioGroup>

Полезные общие свойства:


Управление фокусом:

android:nextFocusDown;

android:nextFocusLeft;


android:nextFocusRight;


android:nextFocusUp;





android:visibility - определяет видимый или нет элемент;





Полезные общие методы:





setEnabled() - устанавливает enable/disable для виджета;


isEnabled() - определяет для виджета 
enable/disable он;


requestFocus() - установить фокус на виджет;


isFocused() - определяет установлен ли фокус на виджете;


getParent() - определяет родительский виджет;


findViewById() - ищет дочерний виджет по id;


getRootView() - возвращает рутовый элемент;

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.