Как создать макет Curve в Android?

Я хочу создать макет Curve, как Сен хочет здесь Как создать этот макет?

Здесь, на месте пузыря, мне нужны кнопки, здесь хотите переместить макет, как галерею?

Пожалуйста, предложите мне. Спасибо


person CoDe    schedule 26.07.2011    source источник
comment
Итак, что вы пробовали до сих пор и каковы проблемы? Вы не можете просто сказать: «Покажи мне код».   -  person John J Smith    schedule 26.07.2011
comment
да, ты прав, Джон... но я не угадаю, с чего мне начать.. пожалуйста, подскажи   -  person CoDe    schedule 26.07.2011
comment
Что-то связанное с этим здесь   -  person Vaibhav Jani    schedule 26.07.2011
comment
@wanted: спасибо, но это все о рисовании только того, что вы предлагаете, я хочу, чтобы кнопка также находилась в круглой области ... поэтому, когда я бросаю ее, она будет вращаться   -  person CoDe    schedule 26.07.2011


Ответы (2)


См. этот ответ на вопрос макет с кнопками по кругу. Он предоставляет метод для построения координат XY в вашем макете.

РЕДАКТИРОВАТЬ 28.07.2011: второй ответ на < strong>макет с кнопками в круге не включал XML. @Shubh попросил об этом в комментариях ниже, поэтому я собрал это вместе:

<RelativeLayout
  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="130dp"
        android:layout_height="85dp"
        android:background="#FFCC0000">
        <Button 
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_gravity="right|bottom"
        />
    </FrameLayout>  
    <FrameLayout 
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:background="#FFCCCC00">
        <Button 
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_gravity="right|bottom"
        />
    </FrameLayout>  
    <FrameLayout 
        android:layout_width="85dp"
        android:layout_height="130dp">
        <Button 
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_gravity="right|bottom"
        />
    </FrameLayout>  
</RelativeLayout>

введите здесь описание изображения

person cdhabecker    schedule 26.07.2011
comment
но мне нужно что-то вроде stackoverflow .com/questions/6830023/ пожалуйста, предложите мне способ сделать это - person CoDe; 28.07.2011
comment
@Shubh Смотрите мои правки - я добавил пример XML для соответствия 6830023. Этот вопрос о макете выполнен, но я думаю, что вам, возможно, придется задать новый вопрос, чтобы объяснить, что вы подразумеваете под галереей, а также бросать и вращать. Если вы просто хотите прокрутить кривую влево-вправо или вверх-вниз, это просто. Но если вы хотите вращать его как циферблат, это сложнее. - person cdhabecker; 28.07.2011
comment
: да cdhabecker то же самое, что и циферблат, который я пытаюсь сделать ... у меня есть кое-что, связанное с представлением QuickAction ... но проблема такая же ... как сделать его округленным ... - person CoDe; 29.07.2011

Хорошо, как бы то ни было, мой подход состоял бы в том, чтобы создать собственный макет, возможно, расширив AbsoluteLayout. Вам нужно будет запросить размеры экрана, а затем вы можете создать Path или EllipticCurve в макете, который лучше всего соответствует размерам экрана. Затем вы можете определить, где на кривой (или на смещении от кривой) вы хотите расположить графику или кнопки. Вам также нужно будет создать собственный детектор жестов, расширив SimpleOnGesturreListener, чтобы действие бросания делало то, что вы хотите, например. сделать анимацию для одного или нескольких или всех объектов на кривой. Это, очевидно, только отправная точка, но она должна помочь вам начать работу, и как только вы попытаетесь запустить ее, вы увидите проблемы или поведение, которые необходимо настроить. Удачи с этим.

Редактировать. Вы можете сделать его более общим, если сможете передать форму, например. кривая, круг и т. д., а затем заставить его расположить ваши кнопки вдоль пути формы.

person John J Smith    schedule 26.07.2011