Как имитировать нажатую кнопку в Android Studio при верстке

Как имитировать нажатую кнопку в Android Studio при верстке не запуская приложение и не нажимая кнопку? То есть я хочу видеть сразу как меняется стиль кнопки, в зависимости от того нажата она или нет, не запуская само приложение?

  • android
  • android-studio

Вы можете это сделать через стили. Добавляем цвета:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="white">#ffffffff</color>
    <color name="darkwhite">#ffeeeeee</color>
    <color name="transparent">#00ffffff</color>
    <color name="semitransparent">#88000000</color>
    <color name="orange">#ffff8800</color>
    <color name="light_orange">#ffe27d18</color>
    <color name="light_blue">#ff00a2e8</color>
    <color name="black">#ff000000</color>
    <color name="menuButtonColor">#ffea8e44</color>
</resources>

Далее создаем файл в папке drawable где будет описано что кнопка нажата:

<?xml version="1. 0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/light_orange" android:state_pressed="true"/>
    <item android:drawable="@color/orange"/>
</selector>

и дальше прикрепляем этот файл drawable к кнопке в xml:

<Button
    android:id="@+id/button"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="58dp"
    android:text="how_it_works_button_title"
    android:background="@drawable/my_button_selector" />

Дальше смотрим в визуальный редактор в Android Studio и подгоняем то как нужно чтобы выглядела наша кнопка.

UPDATE

Для того чтобы посмотреть на нажатую кнопку, нужно в итоге получить такой drawable файл:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@color/light_orange" android:state_pressed="true"/>
        <item android:drawable="@color/light_orange" android:state_pressed="true"/>
    </selector>

но потом не забудьте тег android:state_pressed="true" убрать в одном из item чтобы кнопка имела два состояния.

4

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

python — Как делать действие постоянно пока кнопка нажата PyQt5?

Если я вас правильно понял, то предложу отказаться от кнопок в пользу, например, QSlider.

Тогда ваша задача может выглядеть примерно так:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
class Label(QLabel):
    def __init__(self, parent=None):
        super(Label, self).__init__(parent)
        self.px = 0
        self.py = 15
        self._direction = Qt.LeftToRight
        self.setWordWrap(True)
        
        self.timer = QTimer(self)                            
        self.timer.timeout.connect(self.update)
        self.timer.start(40)
        
        self._speed = 2
        self.textLength = 0
        self.fontPointSize = 0
        self.setAlignment(Qt.AlignVCenter)
        self.setFixedHeight(self.fontMetrics().height())
    def updateCoordinates(self):
        align = self.alignment()
        if align == Qt.AlignTop:
            self.py = 10
        elif align == Qt.AlignBottom:
            self.py = self.height() - 10
        elif align == Qt.AlignVCenter:
            self.py = self.height() / 2
        self.fontPointSize = self.
font().pointSize() / 2 self.textLength = self.fontMetrics().width(self.text()) def setAlignment(self, alignment): self.updateCoordinates() QLabel.setAlignment(self, alignment) def resizeEvent(self, event): self.updateCoordinates() QLabel.resizeEvent(self, event) def paintEvent(self, event): painter = QPainter(self) if self._direction == Qt.RightToLeft: self.px -= self.speed() if self.px <= -self.textLength: self.px = self.width() else: self.px += self.speed() if self.px >= self.width(): self.px = -self.textLength painter.drawText(self.px, self.py + self.fontPointSize, self.text()) painter.translate(self.px, 0) def speed(self): return self._speed def setSpeed(self, speed): self._speed = speed def setDirection(self, direction): self._direction = direction if self._direction == Qt.
RightToLeft: self.px = self.width() - self.textLength else: self.px = 0 self.update() def pause(self): self.timer.stop() def unpause(self): self.timer.start() class MainWindow(QWidget): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.marqueeLabel = Label(self) le = QLineEdit(self) le.textChanged.connect(self.marqueeLabel.setText) le.setText("""Чтобы было понятно, представьте, что эти кнопки как \ газ и тормоз в машине - примерно так же должны работать.""") slider = QSlider(Qt.Horizontal, self) slider.valueChanged.connect(self.marqueeLabel.setSpeed) slider.setValue(10) rtl = QRadioButton("Right to Left", self) ltr = QRadioButton("Left to Rigth", self) rtl.toggled.connect(lambda state: self.marqueeLabel.setDirection(Qt.RightToLeft if state else Qt.LeftToRight)) ltr.setChecked(True) directionWidget = QWidget(self) directionWidget.
setLayout(QHBoxLayout()) directionWidget.layout().setContentsMargins(0, 0, 0, 0) directionWidget.layout().addWidget(rtl) directionWidget.layout().addWidget(ltr) pauseBtn = QPushButton("Остановить", self) pauseBtn.setCheckable(True) pauseBtn.toggled.connect( lambda state: self.marqueeLabel.pause() if state else self.marqueeLabel.unpause()) pauseBtn.toggled.connect( lambda state: pauseBtn.setText("Продолжить") if state else pauseBtn.setText("Остановить")) flayout = QFormLayout() flayout.addRow("Изменить текст", le) flayout.addRow("Изменить скорость", slider) flayout.addRow("Направление движения", directionWidget) flayout.addRow("Движение", pauseBtn) self.layout = QVBoxLayout(self) self.layout.addLayout(flayout) self.layout.addWidget(self.marqueeLabel) if __name__ == '__main__': import sys app = QApplication(sys.
argv) app.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold)) w = MainWindow() w.show() sys.exit(app.exec_())

Нажатая вручную кнопка — Etsy Турция

Etsy больше не поддерживает старые версии вашего веб-браузера, чтобы обеспечить безопасность пользовательских данных. Пожалуйста, обновите до последней версии.

Воспользуйтесь всеми преимуществами нашего сайта, включив JavaScript.

Найдите что-нибудь памятное, присоединяйтесь к сообществу, делающему добро.

( 236 релевантных результатов, с рекламой Продавцы, желающие расширить свой бизнес и привлечь больше заинтересованных покупателей, могут использовать рекламную платформу Etsy для продвижения своих товаров. Вы увидите результаты объявлений, основанные на таких факторах, как релевантность и сумма, которую продавцы платят за клик.
Узнать больше. )

  • aria-pressed — Доступность | MDN

    Атрибут aria-pressed указывает текущее «нажатое» состояние кнопки-переключателя.

    Добавление aria-pressed к элементу с ролью кнопки превращает кнопку в кнопку-переключатель. Атрибут aria-pressed актуален только для кнопок-переключателей. Он представляет текущее «нажатое» состояние кнопки.

    Значение «tri-state», что означает, что значение может быть установлено на true , false , смешанный или undefined значений. В случае aria-pressed , как и для большинства типов значений с тремя состояниями, значение по умолчанию равно 9.0138 не определено .

    Кнопки-переключатели требуют полного цикла нажатия и отпускания, чтобы изменить их значение. Однократное нажатие и отпускание изменяет значение на true . Если ее снова нажать и отпустить, значение снова изменится на false .

    Значение , смешанное с , означает, что значения более чем одного элемента, управляемого кнопкой, не имеют одинакового значения.

    Не изменять содержимое метки переключателя при изменении состояния. Если метка кнопки говорит «пауза», не меняйте ее на «воспроизведение» при нажатии. В этом примере, когда нажатое состояние истинно, метка остается «Пауза», поэтому программа чтения с экрана скажет что-то вроде «Кнопка переключения паузы нажата».

     
     

    Если вы хотите, чтобы метка переключалась между «Пауза» и «Воспроизведение», не используйте aria-pressed .

    Первое правило использования ARIA: «Если вы можете использовать нативную функцию с уже встроенной семантикой и поведением, которые вам нужны, вместо того, чтобы перепрофилировать элемент и добавлять роль, состояние или свойство ARIA, чтобы сделать его доступным, тогда сделайте это. .» Если мы используем собственную семантику HTML с

  • Автор записи

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *