Самый эффективный способ рисовать кнопки поверх вида?

StackOverflow https://stackoverflow.com/questions/4838787

  •  27-10-2019
  •  | 
  •  

Вопрос

Приложение, над которым я работаю, состоит из одного большого пользовательского просмотра, которое заполняет экран. Я поместил одну кнопку в центре каждой стороны пользовательского вида, которую можно использовать для перемещения нарисованного объекта в этом направлении. Подумайте о пользовательском представлении как о «видоискателе» камеры, и я хотел бы, чтобы пользователь мог охватывать видоискатель с помощью кнопок с всех четырех сторон.

Кнопки работают отлично, но когда кто -то нажимается, индивидуальный вид под ним подвергается много перерывов (4 перерывов вместо 1), а пользовательский интерфейс довольно немного отстает.

Есть ли способ остановить пользовательский вид из перераспределения из -за анимации кнопки?

Прости меня, если я упускаю что -то очевидное.

Заранее спасибо за помощь ... Android Rocks !!!

XML Mayout:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <com.app.CustomView
    android:id="@+id/CustomView" android:layout_above="@+id/menuButton" android:layout_height="fill_parent" android:layout_width="fill_parent"/>
    <Button android:layout_height="wrap_content" android:layout_below="@+id/CustomView" android:layout_width="wrap_content" android:layout_alignRight="@+id/CustomView" android:id="@+id/toolsButton" android:text="Tools" android:textSize="24sp"></Button>
    <Button android:layout_height="wrap_content" android:id="@+id/outButton" android:text="-" android:textSize="30sp" android:layout_toLeftOf="@+id/inButton" android:layout_alignTop="@+id/inButton" android:layout_width="40sp"></Button>
    <Button android:layout_height="wrap_content" android:layout_alignRight="@+id/CustomView" android:layout_alignBottom="@+id/CustomView" android:text="+" android:textSize="30sp" android:id="@+id/inButton" android:layout_width="wrap_content"></Button>
    <Button android:layout_alignTop="@+id/CustomView" android:layout_centerHorizontal="true" android:layout_height="40sp" android:layout_width="60sp" android:text="^" android:id="@+id/upButton"></Button>
    <Button android:layout_alignBottom="@+id/CustomView" android:layout_centerHorizontal="true" android:text="v" android:layout_height="40sp" android:layout_width="60sp" android:id="@+id/downButton"></Button>
    <Button android:layout_alignRight="@+id/CustomView" android:text="&gt;" android:id="@+id/rightButton" android:layout_height="60sp" android:layout_width="40sp" android:layout_centerVertical="true"></Button>
    <Button android:id="@+id/leftButton" android:text="&lt;" android:layout_height="60sp" android:layout_width="40sp" android:layout_centerVertical="true"></Button>
    <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignLeft="@+id/CustomView" android:id="@+id/menuButton" android:textSize="24sp" android:text="Functions" android:layout_alignParentBottom="true"></Button>

</RelativeLayout>
Это было полезно?

Решение 2

Я обнаружил, что на самом деле делал свои расчеты слишком точными и слишком усердно работал над моим бедным дроидом. Теперь все рисует гладко.

Другие советы

Почему кнопки являются частью пользовательского представления? Почему бы не сделать их частью макета вашей деятельности, чтобы макет состоит из всех кнопок и вашего индивидуального представления?

Это может не полностью решить вашу проблему, поскольку вам может потребоваться дальнейшее оптимизацию/переосмысление того, как реализуется ваш пользовательский представление, если вызывает его onDraw Метод блокирует поток пользовательского интерфейса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top