我正在使用 Angular Material 构建一个侧导航,可以在单击菜单时隐藏导航文本。我遵循https://material.angular.io/components/sidenav/overview 在 mat-sidenav-container 上使用 autosize
但 sidenav 仍然覆盖 mat-sidenav-content 部分,并且不会自动调整内容部分的大小
我使用“@angular/material”:“^8.0.2”
html
<mat-sidenav-container class="example-container" autosize>
<mat-sidenav #sidenav class="example-sidenav" mode="side" opened="true">
<mat-nav-list>
<mat-list-item>
<button mat-icon-button (click)="isExpanded = !isExpanded">
<mat-icon *ngIf="!isExpanded">chevron_right</mat-icon>
<mat-icon *ngIf="isExpanded">chevron_left</mat-icon>
</button>
</mat-list-item>
<mat-list-item>
<mat-icon mat-list-icon>home</mat-icon>
<p matLine *ngIf="isExpanded">Home</p>
</mat-list-item>
</mat-nav-list>
</mat-sidenav>
<mat-sidenav-content>
Main content
</mat-sidenav-content>
</mat-sidenav-container>
Run Code Online (Sandbox Code Playgroud)
.ts 文件
import {Component} from '@angular/core';
import { MatSidenav } from '@angular/material/sidenav';
@Component({
selector: 'sidenav-autosize-example',
templateUrl: 'sidenav-autosize-example.html',
styleUrls: ['sidenav-autosize-example.css'],
})
export class SidenavAutosizeExample {
isExpanded = false;
}
Run Code Online (Sandbox Code Playgroud)
CSS …
我正在编写一个扫描仪应用程序,该应用程序将安装在运行 Android 的扫描仪上。应用程序内部有一个TextFormField等待输入扫描或粘贴到里面的文本以进行其他 API 调用。
但是我没有找到任何TextFormField禁用软键盘的选项,但仍然可以接受输入文本
以下是我TextFormField尝试过的扫描仪小部件代码。
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class BuildScannerBar extends StatefulWidget {
final Function onFieldSubmitted;
final TextEditingController textFieldController;
final String labelText, hintText;
final bool disableKeyboard;
BuildScannerBar({
@required this.textFieldController,
@required this.onFieldSubmitted,
this.disableKeyboard = true,
this.labelText = 'Barcode Scan',
this.hintText = '',
});
@override
_BuildScannerBarState createState() => _BuildScannerBarState();
}
class _BuildScannerBarState extends State<BuildScannerBar> {
@override
Widget build(BuildContext context) {
return Align(
alignment: Alignment.topCenter,
child: Container(
height: 75,
margin: EdgeInsets.only(top: 50),
width: 300 …Run Code Online (Sandbox Code Playgroud) 我想在 Gridview 下方有一个大长按钮,就像 Roblox 应用程序中的注销按钮一样
我设法使用 Column 创建了一个 gridview 和按钮,但是按钮浮动在 gridview 上方,如何使它很好地放置在 gridview 下方而不浮动在 gridview 上方?
这是我的代码
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final title = 'Grid List';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: MainMenuBody(),
),
);
}
}
class MainMenuBody extends StatelessWidget {
@override
Widget build(BuildContext context) {
final List<MenuData> menu = [
MenuData(Icons.move_to_inbox_outlined, 'Menu 1'),
MenuData(Icons.find_in_page_outlined, 'Menu 2'),
MenuData(Icons.find_in_page_outlined, 'Menu 3'), …Run Code Online (Sandbox Code Playgroud) 我有一个 DropdownButtonFormField ,几乎没有可供选择的选项。选择选项并重新打开选择列表后,如何更改先前选择的选项的背景颜色?表示之前选择的选项
String _selectedPicGroup;
static const _picGroup = [
'Group A',
'Group B',
'Group C',
'Group D',
];
SizedBox(
height: 78,
child: DropdownButtonFormField(
autovalidateMode: AutovalidateMode.onUserInteraction,
decoration: InputDecoration(
border: InputBorder.none,
filled: true,
fillColor: Colors.grey[300],
),
hint: Text('Please select group'),
isExpanded: true,
isDense: true,
value: _selectedPicGroup,
items: _picGroup.map((item) {
return DropdownMenuItem(
value: item,
child: Text(item),
);
}).toList(),
validator: (value) =>
value?.isEmpty ?? true ? 'Cannot Empty' : null,
onChanged: (selectedItem) => setState(
() {
_selectedPicGroup = selectedItem;
},
),
),
);
Run Code Online (Sandbox Code Playgroud)