Страницы

Поиск по вопросам

среда, 19 июня 2019 г.

Как наложить один элемент разметки на другой?

Хочу наложить к примеру , помню получалось как то можете помочь. Есть вот код нужно элемент avatar наложить на circle (чтобы он был поверх него)







Ответ

Для налоложения виджетов используется контейнер FrameLayout, который размещает все виджеты от левого верхнего угла, если не указано гравити (или RelativeLayout, если позиционирование более сложное)








Для простых случаев можно использовать решение из этого ответа

Зацикливание анимации XML

Надо зациклить, чтобы объект уменьшался, а потом увеличивался и так бесконечное количество раз.
Сделал вот так:

Но оно только увеличивается и все. Помогите, буду благодарен.


Ответ

Пожалуйста, добавьте в scale аттрибут repeatCount со значением infinite

Не убивается процесс из python

Здравствуйте! Есть программа, которая создает процесс, который пингует адрес 192.168.1.1 и записывает данные в файл text.txt. А основная программа читает первые 4 строки из файла и выводит их на стандартный поток вывода, после чего "убивает" раннее созданный процесс и сама завершается. Проблема в том, что процесс не убивается. После завершения программы данные все еще записываются в файл text.txt.
from subprocess import * import time
my_file = open('text.txt', 'a') child=Popen(['ping 192.168.1.1'],shell=True,stdout=my_file) s=' ' my_file_2 = open('text.txt', 'r') k = 0 time.sleep(1) while s: k += 1 if k == 5: child.kill() #пытаюсь убить процесс break s=my_file_2.readline() print(s.rstrip()) time.sleep(1) my_file.close() my_file_2.close()


Ответ

Процесс у вас продолжает жить, потому что child в вопросе это shell, а не ping процесс (python запускает оболочку, которая запускает ping команду). child.kill() убивает shell, а ping продолжает жить.
Не используйте shell=True. Если shell=True используется, то необходимо применять методы, которые убьют сразу всю задачу (группу процессов). См. How to terminate a python subprocess launched with shell=True

Чтобы прочитать 4 строки из вывода дочернего процесса и убить его:
#!/usr/bin/env python3 from subprocess import Popen, PIPE
with Popen(['ping', ip], stdout=PIPE, universal_newlines=True) as process: for n, line in enumerate(process.stdout, start=1): print(line, end='') if n == 4: process.terminate() # or use process.kill()
В зависимости от платформы, у ping могут быть параметры командной строки, которые ограничивают общее кол-во запросов (-c) и/или продолжительность работы (-w).
Если по времени хотите чтение остановить, то см. Stop reading process output in Python without hang?

Как сконвертировать SVN-репозиторий с Google Code в git?

Я так понял, Google Code закрывается и SVN-сервер больше не держит. Скачал source-archive.zip с него, внутри него лежат:
branches .svn tags trunk wiki
В trunk, который я тоже пытался checkout'ить, лежат .svn и все файлы проекта.
И, собственно, что со всем этим дальше делать? Так как сам я svn не знаю и хочу git, пытался копипастить команды из гугла (поэтому просьба не смеяться при чтении ниженаписанного :), но что-то не катит.
Пытался в git svn clone file:///path/to/directory или git svn clone file:///path/to/directory/trunk — ругается, что «No repository found».
svnserve -d -r /path/to/directory и просто svn checkout svn://localhost с разными вариациями ссылки — аналогично «No repository found».
subgit захотел от меня сервер в интернете, а где мне его взять-то, если svnserve отдавать отказался.


Ответ

К сожалению вы опоздали. Вся ваша история была удалена 25 января 2016 года. Все что вы можете сейчас сделать - это взять содержимое этого архива и закоммитить в git в качестве начального состояния.
PS папки .svn и все их содержимое коммитить точно не нужно.

Не работают списковые элементы ASP.NET

Хочу использовать asp:CheckBoxList, но браузер выдаёт ошибку:
Uncaught SyntaxError: Failed to execute 'matches' on 'Element': 'A ASP:CHECKBOXLIST' is not a valid selector.

Критерії вибору:

Тип

Option 1 Option 2

Ціна


Помогите решить проблему.


Ответ

На представлении в asp.net mvc нельзя использовать контролы из asp.net webforms, Надо либо вручную написать html select/option либо использовать Razor Syntax. Примеры:
HTML Tag

Razor:
Controller:
public ActionResult SelectCategory() { List items = new List(); items.Add(new SelectListItem { Text = "Volvo", Value = "0"}); items.Add(new SelectListItem { Text = "Saab", Value = "1" }); items.Add(new SelectListItem { Text = "Mercedes", Value = "2", Selected = true }); items.Add(new SelectListItem { Text = "Audi", Value = "3" }); ViewBag.Cars= items; return View(); }
View:
@Html.DropDownList("Cars")

Для чего нужны escape последовательности в адресах URL?

Часто встречаю ссылки записанные в escape последовательности с символом процента в качестве отделителя для закодированного символа. Для чего применяется эта технология?


Ответ

Они применяются для того чтобы передавать специальные символы. например
Нужно передать параметр значение которого R&D, если просто дописать его в url
url?param=R&D
То можно заметить, что значение параметра будет на самом деле R, так как & служит для разделения параметров.
При использования escape же получим строку
url?param=R%26D
которая отлично передается.

Что означает idl-атрибут в спецификации html5?

В спецификации html5 часто встречается понятие idl-атрибут. Например, из описания атрибута title
"The title IDL attribute must reflect the title content attribute"
Примерный перевод: "idl-атрибут title должен отображать содержимое атрибута title"
Совершенно не понимаю, что означает эта фраза? Причем тут idl и какое отношение idl имеет к html? Я думал idl - это совершенно иной язык.
Или, например, атрибут style.
"The style IDL attribute is defined in the CSS Object Model (CSSOM) specification"
Примерный перевод: "idl-атрибуту style дано определение в спецификации CSS Object Model (CSSOM) specification"
Понятно, что этому атрибуту дано определение в такой-то спецификации, но что это за атрибут? для чего он нужен, что дает? и какое отношение имеет к спецификации html?


Ответ

Во-первых, мир веба постоянно меняется, постоянно появляются новые фичи, которые надо бы специфицировать. Количество спек разрослось, и вот для того чтобы как-то унифицировать понятия, используемые в разных спецификациях, появилась некая "мета-спека": Web-IDL, Interface Defenition Language for Web. Документ, описывающий как нужно описывать интерфейсы для новых браузерных возможностей. Собственно понятие IDL-атрибут оттуда и берется.
Во-вторых, в вебе довольно часта ситуация сначала появляются фичи, и только когда фичи все давно используют, под них пишется спека. Которая просто берет что есть и описывает формально. То есть по сути спека большее время на развитие фичи не влияет.
В результате у нас есть некий интерфейс. Те самые IDL - атрибуты. И есть реальный мир. И надо бы эти две вещи как-то познакомить между собой, а то нехорошо получается. Приведенные вами строки этим и занимаются.
Примеры: Допустим у вас есть в html

sometext


По первой выделенной строчке: Что вы получите когда напишете document.getElementById('someid').title? Вот строка спеки и говорит о том, что "не волнуйся парень, то что ты в теге написал для title и то что ты получить пытаешься, это одно и то же"
"The title IDL attribute must reflect the title content attribute"
По второй выделенной строчке
"The style IDL attribute is defined in the CSS Object Model (CSSOM) specification"
Что ты реально получишь обратившись сделав document.getElementById('someid').style - смотри в спеке по цсс.