我创建了一个ToggleButton显示和隐藏UI的部分,我已将其发送Content到一个图标.
我现在想要添加一个快捷键,ToggleButton但我不确定如何在不绑定命令的情况下执行操作.由于我所做的只是绑定到IsChecked状态,我不需要命令来执行任何其他功能,并且创建一个空的似乎不正确.
这是我的,ToggleButton因为当我按下指示的快捷键时,它当前不起作用并且没有响应.
<ToggleButton ToolTip="Command History"
MinWidth="24"
IsChecked="{Binding IsShowHistoryChecked}"
Margin="7">
<ToggleButton.InputBindings>
<KeyBinding Gesture="Ctrl+H" />
</ToggleButton.InputBindings>
<Image Source="/Amuse;component/Images/ComHistory256.png"
Width="24" />
</ToggleButton>
Run Code Online (Sandbox Code Playgroud) 我有这些ToggleButtons,我想让它们之间有一些间距。
ToggleButtons(
children: <Widget>[
Icon(Icons.ac_unit),
Icon(Icons.call),
Icon(Icons.cake),
],
onPressed: (int index) {
setState(() {
isSelected[index] = !isSelected[index];
});
},
isSelected: isSelected,
),
Run Code Online (Sandbox Code Playgroud)
想要的结果是这样的:
这有可能吗?
反正有没有控制ToggleButton开启和关闭状态的文本位置?例如,我希望文本标签在打开时保持对齐,在关闭时保持右对齐.
编辑:另外,我要在左侧和右侧为文本添加一些填充.大约5dp.如果可能的话,可以更好地控制标签的位置.
答案:这就是我需要的!
button.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL);
button.setPadding(0, 0, 5, 0);
Run Code Online (Sandbox Code Playgroud) 我的Android应用程序有一个常规按钮:
<Button
android:id="@+id/allOnButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="130dp"
android:text="@string/sensor_management_all_on" />
Run Code Online (Sandbox Code Playgroud)
还有一个切换按钮:
<ToggleButton
android:id="@+id/accelerometerToggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textOff="off"
android:textOn="on" />
Run Code Online (Sandbox Code Playgroud)
按下按钮时,会播放一个漂亮的"咔嗒"声,这样可以向用户提供实际按下按钮的良好反馈.
如何为ToggleButton设置咔嗒声?
这让我很沮丧.我有一个简单的WPF切换按钮,有两个IsChecked触发器.一个值为true,另一个值为false.没有选中按钮时,它工作正常,我的样式为false; 但是,当IsChecked为true时,系统永远不会应用该样式.它总是只使用默认的蓝色镀铬窗口样式.有任何想法吗?
<ToggleButton Content="Control 1" Width="200" Margin="0,0,0,10" Focusable="False">
<ToggleButton.Resources>
<Style TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF3F3F3" Offset="1"/>
<GradientStop Color="LawnGreen" Offset="0.307"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF3F3F3" Offset="1"/>
<GradientStop Color="Red" Offset="0.307"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Resources>
</ToggleButton>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.我确定这是显而易见的,我只是在俯视.
嗨,我有一个ToggleButton用ToolTip,内容ToolTip与绑定Text属性.现在我需要我的风格ToolTip中ToggleButton.我知道它不是让我内应用样式ToggleButton的ToolTip,我不知道该怎么办呢?任何建议都非常感谢.
这是我的代码看起来
<ToggleButton x:Name="btn" ToolTip="{Binding ElementName=tbText, Path=Text, Mode=TwoWay}" Margin="10,0,0,20" Style="{StaticResource bubbleStyle}" />
Run Code Online (Sandbox Code Playgroud) 我正在使用切换按钮开发应用程序,我输入了1或0 EditText.单击按钮时,如果我输入1切换按钮显示TOGGLE ON,则切换按钮必须更改,如果我输入0则切换按钮必须显示TOGGLE OFF.单击按钮时,我无法获得切换值.
我的代码是:
public class MainActivity extends Activity {
String editString="";
Button btn;
EditText ed;
ToggleButton toggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.btn);
ed = (EditText)findViewById(R.id.ed);
toggle = (ToggleButton)findViewById(R.id.toggBtn);
editString = ed.getText().toString();
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
toggle.toggle();
if(editString.equals("1")){
toggle.setTextOff("TOGGLE ON");
}
else if(editString.equals("0")){
toggle.setTextOn("TOGGLE OFF");
}
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
xml文件:
<LinearLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin" …Run Code Online (Sandbox Code Playgroud) 我正在尝试为Android Toggle Buttons创建自定义样式.更改颜色和文本没有问题,但我无法更改大小/填充/间距或其他任何内容,使它们默认显示为不必要的大.我将wrap_content和padding以及margin的高度设置为0,但是按钮的大小仍然与默认的Toggle Button一样大.
你是否有人知道我要更改哪些参数以删除按钮的文本和边框之间不必要的间距?
这是我想要实现的图像的链接.从左到右:默认ToggleButton,我当前的ToggleButton和我想要的ToggleButton.
这是我的代码(因为我动态添加这些按钮,没有xml)
ToggleButton button = new ToggleButton(getContext());
button.setLayoutParams(new LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
button.setId(IDCreator.getID());
button.setText(tag);
button.setTextOff(tag);
button.setTextOn(tag);
button.setGravity(Gravity.LEFT);
button.setPadding(0, 0, 0, 0);
button.setBackground(getContext().getResources().getDrawable(R.drawable.toggle_selector));
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.亲切的问候.
编辑:图像和代码
我有一个带有两个切换按钮的切换组,看起来像这样(黄色切换是选定的切换).
但是,当我单击选定的切换时,两个切换都会变为未选中,看起来像这样.
然后,如果我试图判断是否选择了切换,我会得到一个nullPointerException.
(Boolean) toggleGroup.getSelectedToggle().getUserData();
Run Code Online (Sandbox Code Playgroud)
是否可以防止单击选定的切换时取消选择?
我试图根据输入中是否有文本来启用或禁用按钮,但似乎无法实现。当我在按钮功能的禁用属性中手动设置 {true OR false} 时,它工作正常,但我对如何根据输入的内容动态设置它感到非常困惑。
非常欢迎任何指导!
这是我的应用程序代码
import { useState } from "react";
function Input (props){
const { onChange, value } = props
return (<input value={value} onChange={onChange} type="text" placeholder="Add a ToDo" maxLength="50"/>)
}
function Button (props) {
const {onChange, state, text} = props
return (<button disabled={false} onChange={onChange}>{text}</button>)
}
function App() {
const [text, setText] = useState("");
const [state, setSate] = useState(true);
const handleChange = (event) => {
if (!setText(event.target.value)) {
setSate(false);
} else {
setSate(true);
}
};
return (
<div …Run Code Online (Sandbox Code Playgroud)togglebutton ×10
android ×4
wpf ×3
layout ×2
audio ×1
click ×1
dart ×1
data-binding ×1
flutter ×1
java ×1
javafx ×1
javascript ×1
react-hooks ×1
reactjs ×1
styles ×1
tooltip ×1
triggers ×1
use-state ×1