Как положить в класс LinearLayout, который расширяет GLSurfaceView? - PullRequest
0 голосов
/ 04 июня 2011

мой вопрос прост. У меня есть класс TouchSurfaceView, который расширяет GLSurfaceView. Я хочу создать действие, в котором будут три TextViews и Button снизу и TouchSurfaceView сверху, но я не знаю, как читать это в макете XML.

1 Ответ

0 голосов
/ 05 июня 2011

Вы просто ссылаетесь на него, используя полное имя (включая пакет), как если бы это был любой другой Vew:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >
    <your.package.TouchSurfaceView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="text"
        />
<!-- etcetera -->
</LinearLayout>

Вам нужен конструктор, который принимает AttributeSet в качестве параметра (используется при накачке xml):

public TouchSurfaceView(Context context, AttributeSet attr) {
  super(context, attr);
  // the rest of your code
}
...