小编Cop*_*oad的帖子

View.inflate与LayoutInflater

使用LayoutInflater和静态方法的主要区别是什么View.inflate()?使用它们中的任何一个是否有任何缺点,或者它们可能用于不同的目的?

android

24
推荐指数
2
解决办法
6827
查看次数

替换MaterialApp中的初始路线而不动画?

我们的应用程序是建立在顶部Scaffold和这一点,我们已经能够使用内提供的电话,以适应大多数的我们的路线和导航的要求NavigatorState(pushNamed(),pushReplacementNamed(),等).我们不想要的是,当用户从我们的抽屉(导航)菜单中选择一个项目时,可以使用任何类型的"推送"动画.我们希望从导航菜单中单击目标屏幕,以有效地成为堆栈的新初始路径.目前我们正在使用pushReplacementNamed()来确保应用栏中没有后退箭头.但是,右下方的幻灯片意味着正在构建堆栈.

在没有动画的情况下更改初始路线的最佳选择是什么?我们可以这样做同时同时关闭抽屉的动画吗?或者我们是否正在考虑这样的情况:我们需要从导航器转移到仅使用单个脚手架并在用户想要更换屏幕时直接更新"正文"?

我们注意到有一个replace()电话NavigatorState我们认为它可能是开始寻找的正确位置,但目前还不清楚如何访问我们最初建立的各种路线new MaterialApp().replaceNamed()可能有点像顺序;-)

提前致谢!

dart flutter

24
推荐指数
2
解决办法
1万
查看次数

如何在Navigator中使用BottomNavigationBar?

颤振画廊例子BottomNavigationBar使用StackFadeTransitions中的身体Scaffold.

如果我们可以使用a来切换页面,我觉得它会更干净(并且更容易制作动画)Navigator.

这有什么例子吗?

flutter

24
推荐指数
5
解决办法
1万
查看次数

类型 'Future<dynamic>' 不是类型 '() => void' 的子类型

我正在尝试Text单击打开一个 URL 。为此,我使用InkWell如下所示:

Row(
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    children: <Widget>[
       Text('${blogModel.timeElapsed} ago'),
       InkWell(
          child: Text('Read'),
          onTap: launchURL(blogModel.url),
       )
     ],
  )
Run Code Online (Sandbox Code Playgroud)

使用这个我收到以下错误:

???????? Exception caught by widgets library ???????????????????????????????????????????????????????
The following assertion was thrown building BlogTileWidget(dirty):
type 'Future<dynamic>' is not a subtype of type '() => void'

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

24
推荐指数
2
解决办法
2万
查看次数

提高Android音频录制质量?

有没有办法录制高质量的音频?

我如何阅读用户说的信息?在音频录制应用程序中,您可以看到这样的指示器(我不知道它的正确名称).

android audio-recording

23
推荐指数
2
解决办法
3万
查看次数

cursor.setNotificationUri()用于什么?

我在本教程中研究了如何使用ContentProviders和加载器

我是怎么看的:我们有一个ActivityListView,SimpleCursorAdapterCursorLoader.我们也实施ContentProvider.

Activity我们可以调用getContentResolver().insert(URI, contentValues);通过点击一个按钮.

在我们的实现中ContentProvider,在insert()方法结束时,我们调用getContentResolver().notifyChange(URI, null);并且我们CursorLoader将收到消息,它应该重新加载数据并更新UI.此外,如果我们FLAG_REGISTER_CONTENT_OBSERVERSimpleCursorAdapter其中使用它也将接收消息并且onContentChanged()将调用其方法.

因此,如果我们插入,更新或删除数据,我们的ListView将会更新.

Activity.startManagingCursor(cursor);已弃用,cursor.requery()已弃用,因此我没有看到任何练习意义 cursor.setNotificationUri().

我查看了setNotificationUri()方法的源代码,发现它调用mContentResolver.registerContentObserver(mNotifyUri, true, mSelfObserver)了方法.也是CursorLoader一样的.最后,游标将接收消息,并在Cursor内部调用以下方法:

protected void onChange(boolean selfChange) {
    synchronized (mSelfObserverLock) {
        mContentObservable.dispatchChange(selfChange, null);
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

但我无法理解这一点.

所以我的问题是:我们为什么要叫cursor.setNotificationUri()query()我们的方法ContentProvider实现?

database android cursor android-contentresolver android-contentprovider

23
推荐指数
2
解决办法
9403
查看次数

在使用RecyclerView时,notifydatasetchanged调用onCreateViewHolder

我想使用切换来在两个不同的视图之间切换,但使用相同的视图RecyclerView.基本上,一旦你切换,我想要RecyclerView适配器调用,onCreateViewHolder()但这次它将使用不同的布局项目文件.

是否notifydatasetchanged()导致适配器重建?或者还有另一种方式吗?

android android-adapter notifydatasetchanged android-recyclerview

23
推荐指数
2
解决办法
2万
查看次数

在RecyclerView中以编程方式单击项目

我正在加载一个类别列表,根据选择的类别,我需要显示相应类别的产品RecyclerView.因此,当我第一次启动时,Fragment我需要模拟用户点击默认类别 - 在这种情况下,它将是第一个.

我怎么能这样做?

android android-recyclerview

23
推荐指数
4
解决办法
2万
查看次数

如何在Flutter中更改状态栏颜色?

我正在尝试将状态栏颜色更改为白色...我发现这个酒吧在flutter https://pub.dartlang.org/packages/flutter_statusbarcolor ...我试图在我的dart文件(主要和其他)上使用示例代码...但是它不起作用......任何想法的家伙?

dart flutter flutter-dependencies flutter-layout

23
推荐指数
15
解决办法
2万
查看次数

如何制作可复制的文字颤动小工具?

Text工具上的长标签时,工具提示会显示"复制".单击"复制"时,文本内容应复制到系统剪贴板.

以下将在长按时复制文本,但不显示"复制",因此用户不会知道,内容被复制到剪贴板.

class CopyableText extends StatelessWidget {
  final String data;
  final TextStyle style;
  final TextAlign textAlign;
  final TextDirection textDirection;
  final bool softWrap;
  final TextOverflow overflow;
  final double textScaleFactor;
  final int maxLines;
  CopyableText(
    this.data, {
    this.style,
    this.textAlign,
    this.textDirection,
    this.softWrap,
    this.overflow,
    this.textScaleFactor,
    this.maxLines,
  });
  @override
  Widget build(BuildContext context) {
    return new GestureDetector(
      child: new Text(data,
          style: style,
          textAlign: textAlign,
          textDirection: textDirection,
          softWrap: softWrap,
          overflow: overflow,
          textScaleFactor: textScaleFactor,
          maxLines: maxLines),
      onLongPress: () {
        Clipboard.setData(new ClipboardData(text: data));
      },
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

clipboard flutter

22
推荐指数
5
解决办法
1万
查看次数