Я хочу сделать представление, состоящее из нескольких других стандартных элементов. Есть ProgressBar, TextViews и ImageView. Я объявил, как макет их в разрешении/макет/myView.xmlПользовательский вид Android, объявленный в xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
tools:ignore="HardcodedText,ContentDescription" >
<ImageView
android:id="@+id/qItemImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/qItemNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/qItemImageView"
android:gravity="center"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ProgressBar
android:id="@+id/qProgressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/qItemNameTextView"
android:layout_alignParentRight="true"
android:layout_below="@+id/qItemNameTextView"
android:max="100"
android:progress="50" />
<TextView
android:id="@+id/qLevelTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/qItemImageView"
android:layout_alignTop="@id/qItemImageView"
android:text="7"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold" />
<TextView
android:id="@+id/qTimeTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/qProgressBar"
android:layout_alignLeft="@id/qProgressBar"
android:layout_alignRight="@id/qProgressBar"
android:layout_alignTop="@id/qProgressBar"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="01:01:01"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/black" />
</RelativeLayout>
Я также создал новый класс, но не знаю, как я могу связать его с этим файлом ресурсов ...
import android.content.Context;
import android.view.View;
public class QueueRowView extends View {
public QueueRowView(Context context) {
super(context);
}
}
Как я могу сделать свой элемент управления похожим на файл макета?
Я хочу, чтобы это был элемент статического списка, поэтому, вероятно, лучшим решением является сделать его separete View. – karex
Если это список, просто раздуйте макет в методе 'getView()' вашего адаптера. Вы также можете добавить все пользовательские логики к адаптеру. – SimonSays