Я прошел несколько онлайн-курсов на Android. И начал мой первый проект. В настоящее время я застреваю в создании своего собственного виджета.Пользовательские элементы управления Android
Я не могу найти информацию о том, как переопределить стили управления по умолчанию или как сгруппировать элементы управления по умолчанию в пользовательский элемент управления. Проблема заключается в следующем:
Когда мы создаем расширение Activity, существует метод onCreated, где мы указываем, какой формат XML использовать. На мой взгляд, так же должны быть созданы пользовательские элементы управления.
Например, я хочу, чтобы создать элемент управления, который будет иметь ImageView и некоторые кнопки, какой тип будет зависеть от данных, поступающих с сервера (кнопка электронной почты, кнопка скайп или любой другой)
Так я создал класс:
public class InteractiveHeaderControl extends View {
public InteractiveHeaderControl(Context context)
{
super(context);
}
}
Я создал макет:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="TEST"
android:layout_marginLeft="20dp"/>
<LinearLayout
android:id="@+id/button_stack"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true">
<Button
android:layout_width="50dp"
android:layout_height="50dp" />
<Button
android:layout_width="50dp"
android:layout_height="50dp" />
<Button
android:layout_width="50dp"
android:layout_height="50dp" />
</LinearLayout>
</RelativeLayout>
Таким образом, вопрос, как я могу применить эту схему к моему контролю и poulate button_stack во время выполнения?
Например, в коде я хочу, чтобы создать этот элемент управления, как:
InteractiveHeaderControl control = new InteractiveHeaderControl(List<button>);
и управления конструктору обрабатывать переданный параметр.
спасибо. Я прочту их. – Cheese