Рендеринг кнопки поверх SurfaceView - PullRequest
1 голос
/ 29 апреля 2011

Я смотрю в Google о том, как это сделать, из того, что я собрал, это не так просто, как 123, потому что вид поверхности просто нарисует над ним, решение, которое люди сказали, это использовать макет xml. и создайте макет, а затем добавьте вид поверхности как дочерний элемент и кнопку как дочерний элемент. Однако я совершенно заблудился в этом, и мне очень хотелось бы увидеть некоторый код о том, как это сделать (я предпочитаю смотреть примеры и метод проб и ошибок для изучения).

Мой xml файл

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
<FrameLayout
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button
 android:id="@+id/Menu"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:text="Menu" />
<Android.Game.GameView
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"/>
</FrameLayout>
</LinearLayout>

У меня нет кода для добавления в кнопку, кроме того, что вы видите в XML (я делал много проб и ошибок).

Проект работает следующим образом: активность -> setContentView (вид поверхности) -> отображать GFX на onDraw

Может кто-нибудь помочь мне с этим, когда я увижу пример того, как сделать это с 1 объектом, я смогу сделать это с другими объектами.

РЕДАКТИРОВАТЬ - решил О.К. Мне удалось разобраться с этим постом http://www.mail-archive.com/android-beginners@googlegroups.com/msg11780.html

Мне пришлось установить представление содержимого для файла xml и добавить некоторые конструкции в представление поверхности, чтобы оно работало

1 Ответ

0 голосов
/ 08 января 2012

Мне нужно было сделать что-то похожее, чтобы отобразить ImageView поверх SurfaceView, и сделал это следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff">
    <com.my.package.DrawingCanvas
    android:id="@+id/canvas"
    android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:focusable="true"
        android:background="#ffffff" />
    <RelativeLayout
        android:id="@+id/toolbar_notification"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:gravity="center_vertical">
        <ImageView
            android:id="@+id/toolbar_notification_icon"
            android:layout_width="40dp"
            android:layout_height="match_parent"
            android:layout_alignParentBottom="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:contentDescription="@string/content_desc_save_icon"
            android:gravity="center|center_vertical" />
    </RelativeLayout>
</RelativeLayout>

Это приводит к тому, что кнопка всплывает поверх SurfaceViewв правом нижнем углу.

...