Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
qwear
0 / 0 / 0
Регистрация: 02.02.2015
Сообщений: 11
#1

Позиционирование в Android - Программирование Android

15.11.2015, 15:20. Просмотров 310. Ответов 0
Метки нет (Все метки)

Здравствуйте Комрады, нужна ваша помощь! Вот мой код .xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="utf-8"?>
<!--Normal Screen-->
 
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/Relative"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imageViewBg"/>
    
    <ru.xmarkt.flashlight.button.VerticalSeekBar
            android:layout_width="wrap_content"
            android:layout_height="145dp"
            android:layout_x="150dp"
            android:layout_y="200dp"
            android:id="@+id/vertical_Seekbar"
            android:layout_centerHorizontal="true"
            android:thumb="@drawable/button_normal"
            android:progressDrawable="@drawable/style_seekbar"
            android:layout_marginBottom="65dp"
            android:layout_above="@+id/adView"
            android:thumbOffset="12dp" />
</RelativeLayout>
не судите строго, но цель понять как позиционировать Вертикальный SeekBar(для поддержки устройств андроид 2.3) относительно фонового изображения(ImageView id=imageViewBg ), чтобы они были расположены относительно друг друга в одном месте в зависимости от разрешений эрана.
Перепробовал различные варианты. Но увы не получилось есть мысли идеи, как это можно сделать. Товарищи буду рад любой поддержке.
Да также скину свой класс SeekBar:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
**
 * Created by MasterCoder on 30.10.2015.
 * Класс реализующий вертикальный бар в виде кнопки.
 */
public class VerticalSeekBar extends SeekBar {
 
    public VerticalSeekBar(Context context) {
        super(context);
    }
 
    public VerticalSeekBar(Context context, AttributeSet attributeSet, int defStyle) {
        super(context, attributeSet, defStyle);
 
    }
 
    public VerticalSeekBar(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(h, w, oldh, oldw);
    }
 
    @Override
    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(heightMeasureSpec, widthMeasureSpec);
        setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
    }
    protected void onDraw(Canvas canvas) {
        canvas.rotate(-90);
        canvas.translate(-getHeight(),0);
        super.onDraw(canvas);
    }
 
 
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (!isEnabled()) {
            return false;
        }
        switch (event.getAction()) {
            case MotionEvent.ACTION_MOVE:
                setProgress(getMax() - (int) (getMax() * event.getY() / getHeight()));
                onSizeChanged(getWidth(), getHeight(), 0, 0);
                break;
            case MotionEvent.ACTION_UP:
                if(getProgress() >= getMax()/2){
                    setProgress(getMax());
                    onSizeChanged(getWidth(), getHeight(), 0, getHeight());
                }
                else{
                    setProgress(0);
                    onSizeChanged(getWidth(), 0, 0, getHeight());
                }
                break;
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_CANCEL:
                break;
        }
        return true;
    }
 
}
Фотки также прикриляю, как примерно я хочу чтобы выглядело мое приложение(свои изображения грузить не стал , потом увидите на гугле):
Позиционирование в Android

Название: panel_led_switch_4.png
Просмотров: 18

Размер: 6.0 Кб

Позиционирование в Android

Название: panel_led_switch_6.png
Просмотров: 18

Размер: 9.7 Кб
SeekBar использует в качестве thumb кнопку, таким образом получается слайд кнопка и да высоту бара тоже нужно отрегулировать в зависимости от изображения фонового чтобы оно равнялось впадине по центру.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2015, 15:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Позиционирование в Android (Программирование Android):

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? - Программирование Android
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Не предлагается установка Android SDK при установке Android Studio - Программирование Android
на сайте https://developer.android.com/studio/... скачал exeшник для установки Android Studio. Скачал, запустил и в Android Studio...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал - Программирование Android
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - &quot;RTFM&quot; и точка. Так вот, официального мануала, где есть ответ на...

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK? - Программирование Android
Можно ли писать в нем готовые приложения Android?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2015, 15:20
Привет! Вот еще темы с ответами:

Android.support.v4.app.FragmentActivity не работает в Android Studio - Программирование Android
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня вот это Активити package...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android) - Программирование Android
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать код игры. В книге написано что - игра готова. Но в самих...

Можно ли написать веб сервер на Java для клиента на Android, имея под рукой только телефон на Android? - Программирование Android
Уважаемые гуру программирования, если можно, пожалуйста, напишите поподробнее- какой программой компилировать код, какой лучше выбрать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru