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

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

Войти
Регистрация
Восстановить пароль
 
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
#1

Рисование на фоне основного Layout-а, возможно ли? - Программирование Android

08.09.2014, 17:54. Просмотров 464. Ответов 4
Метки нет (Все метки)

У меня есть пустая Activity и разметка для нее:
XML
1
2
3
4
5
6
7
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
</RelativeLayout >
Я могу указать для main_layout картинку, которая станет на фон.

Никак не могу сообразить как мне получить Canvas от этого main_layout что бы на нем что-то порисовать, а потом "применить" так, что бы мое рисование попало на фон вместо картинки?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2014, 17:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рисование на фоне основного Layout-а, возможно ли? (Программирование Android):

Рисование в отдельном Layout - Программирование Android
Как по нажатию на кнопку нарисовать линию (допустим) в отдельном каком-то layout.

Анимированный дизайн смены Layout или просто выдвигаемый layout - Программирование Android
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить в гугл, всё что попадается это Drawer А мне нужнен просто...

Не хочет работать в layout, но включается в layout-land - Программирование Android
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout...

At android.widget.LinearLayout.setChildFrame Layout в Layout-те - Программирование Android
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити, на нем лежит Layout (горизонтальный) в котором 2й...

Добавить layout на layout - Программирование Android
Нашёл такой код: layout.add(view); только не понимаю куда его писать. Нужно чтобы один layout можно было использовать в нескольких других. ...

Рисование на фоне - Java
Здравствуйте, программисты. Помогите, пожалуйста, как нарисовать точку на экране и как задать её цвет? хотелось бы видеть нечто вроде...

4
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
08.09.2014, 18:18 #2
Но фоновая картинка останется.

Java
1
2
3
4
5
6
7
8
class MyRelativeLayout extends RelativeLayout {
 
@Override
onDraw(Canvas canvas) {
// рисовать здесь
}
 
}
1
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
08.09.2014, 19:23  [ТС] #3
Точно, спасибо, я пытался наследоваться от View и даже в голову не пришло проделать то же с лаяутом!
Но у меня все равно не заливает синим цветом.

главная activity:
Java
1
2
3
4
5
6
7
8
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
класс разметки:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class MyRelativeLayout extends RelativeLayout {
 
    public MyRelativeLayout(Context context) {
        super(context);
    }
 
    public MyRelativeLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    public MyRelativeLayout(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
 
    @Override
    protected void onDraw(Canvas c) {
        c.drawColor(Color.BLUE);
    }
}
и сам xml:
XML
1
2
3
4
5
6
7
8
9
10
11
<com.example.andtest.MyRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
 
</com.example.andtest.MyRelativeLayout>
Я в onDraw вставлял вывод в консоль, так этот метод даже не вызывается
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
08.09.2014, 19:35 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
А так?
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
public class MyRelativeLayout extends RelativeLayout {
 
    public MyRelativeLayout(Context context) {
        super(context);
        setWillNotDraw(false);
    }
 
    public MyRelativeLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
        setWillNotDraw(false);
    }
 
    public MyRelativeLayout(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setWillNotDraw(false);
    }
 
    @Override
    protected void onDraw(Canvas c) {
        super.onDraw(c);
        c.drawColor(Color.BLUE);
    }
 
}
Документация:
http://developer.android.com/referen...w%28boolean%29
1
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
08.09.2014, 20:02  [ТС] #5
заработало, большое спасибо!

Не по теме:

я обычно внимательно читаю форумы и доки до того, как задать вопрос, сегодня что-то туго соображаю

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

Рисование на фоне - C#
Пытаюсь рисовать на форме, не на pickture box, напишите пример как добавить фоновую картинку например, я просто много пытался но мало к...

Рисование на прозрачном фоне формы - C#
Приветствую. Возникла проблема с рисованием на прозрачном фоне формы. Создал простую форму. Сделал её фон прозрачным посредством...

Рисование на форме из нескольких потоков с двойной буферизацией, возможно ли? - C#
Учебное задание, несколько потоков, каждый считает траекторию своей геом. фигуры и рисует ее на форме. Никак не могу сообразить, как...

Использование Layout в другом Layout - Java
Нужно в одной форме использовать 2 вида Layout, причем один должен быть вложен в другой, это реально?


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

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

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