Intereting Posts
Android имитирует быстрый салфетки Как добавить библиотеки поддержки Android v7 в eclipse? Android-приложение занимает много памяти Android-приложение вылетает на Lollipop Android TextView setTextSize неправильно увеличивает размер текста ValueEventListener vs ChildEventListener для RecyclerView в Android Выполнение не выполнено для задачи: app: compileDebugJavaWithJavac в Android Studio Как показать Android-клавиатуру с режимом символов по умолчанию? Как упаковать только язык по умолчанию с android gradle resConfigs Как преобразовать файлы .jar или .class в .dex? Не удалось удалить старое действие javaCompile, возможно, имя класса изменилось Отсутствует информация о проекте «Грейдл». Проверьте, успешно ли IDE успешно синхронизировала свое состояние с моделью проектора Gradle Почему в пользовательской учетной записи Android не отображается «Учетные записи и настройки»? Содержимое веб-сайта Load Html Как установить Android SDK на Linux, используя только CLI?

Использование класса GLSurfaceView с макетами android xml

Я хочу использовать макеты android xml. Я поместил glSurfaceView в макет фрейма для использования в сочетании с линейным макетом, например …

<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"> <android.opengl.GLSurfaceView android:id="@+id/surfaceviewclass" android:layout_width="match_parent" android:layout_height="match_parent"/> </FrameLayout> <LinearLayout android:id="@+id/gamecontrolslayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="5" android:background="@drawable/backdrop"> //some layout stuff </LinearLayout> <LinearLayout> 

Затем я называю свой макет так

 setContentView(R.layout.main); GLSurfaceView glSurfaceView = (GLSurfaceView)findViewById(R.id.surfaceviewclass); 

In onCreate ();

Как я могу вызвать свой glSurfaceView, чтобы я мог использовать макеты xml, подобные этому, а также ссылаться на свой собственный класс GLSurfaceView (ниже приведен код, который ссылается на мой собственный класс GLSurfaceView) …

 glSurfaceView = new MyGLSurfaceView(this); setContentView(glSurfaceView); 

Есть ли все-таки сочетание этих двух? Я хочу это сделать, потому что в моем классе glSurfaceView загружается множество вещей, таких как загрузка файлов и события касания. И только я только подумал о реализации этого нового макета

Solutions Collecting From Web of "Использование класса GLSurfaceView с макетами android xml"

Просто укажите свой собственный класс (с полным именем пакета) в xml, так же, как вы ссылаетесь на android.opengl.GLSurfaceView. Убедитесь, что ваш подкласс реализует правильный конструктор и передает атрибут context & attributes родительскому:

 public MyGLSurfaceView(Context context, AttributeSet attrs) { super(context, attrs); 

Затем вы можете получить его с помощью findViewById:

 MySurfaceView glSurfaceView = (MySurfaceView)findViewById(R.id.surfaceviewclass); 

Это должно делать свое дело.

Если все кончается, как и вы пишете в xml-макете, полный путь к классу Glsurfaceview: (и имя класса)

Он работает только в том случае, если класс GLSurfaceView написан в собственном файле. В этом файле для shure, конструкторы должны быть написаны правильно.

Я читаю, 1 конструктор для xml-refer и один для общения между классами. Конструктор для xml-refer и один для общения между классами, могут быть найдены, если они написаны корректно, внутри GLSurfaceView. GLSurfaceView, где вы устанавливаете Renderer, устанавливаете его в конструкторе xml, должен быть единственным способом, он отлично работает. (Показано в андевере 1)

XML-конструктор:

Public MyGLSurfaceView (контекст контекста, AttributeSet attrs) {супер (контекст, attrs); setEGLContextClientVersion (2);
Renderer = new Renderer (контекст); setRenderer (рендерер);

Если вы некоторые из этих народов, которые не могут заставить SurfaceView работать, в xml-layout ore, которые покупают эту книгу из Apress – Начало 3D-Game-Development. Не сердитесь на руду. На странице 44-45 он записывается в одном файле. Напишите GLSurfaceView, как и в моем ответе, в собственном файле. Renderer – это собственный файл, где: onSurfaceCreated, onSurfaceChanged, onDrawFrame..может быть найдена и The MainActivity