在android材料设计原则页面上,其中一个示例显示了FAB扩展到新的全屏.(在"全屏"下)
我试图在我的应用程序中实现相同的效果,但收效甚微.
我设法使用此代码作为参考创建了一个扩展为视图的FAB:https://gist.github.com/chris95x8/882b5c5d0aa2096236ba.
它有效,但我想知道我是否可以对活动过渡应用相同的效果.我已经尝试过查找并自己玩它但找不到任何可行的东西.
我知道我可以让FAB扩展成片段而不是一个全新的活动,但我不确定这是做什么的,以及这是否是最佳的.
所以我的问题是,有没有办法将fab扩展显示效果实现为活动转换,还是应该只显示一个新片段?
在我的主要活动中有一个RelativeLayout有2个孩子:
ImageView其用作背景LinearLayout有2个片段容器<RelativeLayout 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:layout_gravity="bottom"
tools:context="${packageName}.${activityClass}">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:baselineAlignBottom="false"
android:scaleType="fitStart"
android:src="@drawable/bg_image" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="?android:attr/actionBarSize"
android:layout_alignParentBottom="true">
<LinearLayout
android:id="@+id/ContainerA"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical" />
<LinearLayout
android:id="@+id/ContainerB"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_gray"
android:orientation="vertical" />
</LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
容器A只显示一个不会改变的片段.
但是,容器B保存的片段会根据用户点击进行更改.
容器B以两种方式改变:
容器B可以容纳的一个片段是一个包含EditTexts和其他视图的表单.
我的问题是当键盘打开时我无法调整活动的大小.
我adjustResize在清单文件中设置,我的主题不是全屏主题(显然这是导致此问题的原因).我也尝试编辑视图,添加ScrollViews但绝对没有任何效果.
我正在用于此活动的主题是带有AppCompat图库中暗动作条的灯光主题.我只编辑了主题以允许叠加操作栏.这不是问题,因为我已经尝试删除这些编辑无济于事.
TL; DR adjustResize/adjustPan不适合我.搜索,尝试了各种解决方案,没有任何效果.我的问题是; 在我的情况下,这是什么原因?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" …Run Code Online (Sandbox Code Playgroud) xml android android-layout android-fragments android-activity
我刚开始在android中进行游戏开发,而我正在开发一款超级简单的游戏.
这场比赛基本上就像飞扬的小鸟.
我设法让一切工作,但我得到了很多口吃和滞后.
我用来测试的手机是LG G2,所以它应该并且确实运行的游戏比这更重,更复杂.
基本上有4个"障碍"是全屏宽度彼此分开.
当游戏开始时,障碍物开始以恒定速度移动(朝向角色).玩家角色的x值在整个游戏中是一致的,而其y值会发生变化.
滞后主要发生在角色穿过障碍物时(有时也会在障碍物之后).会发生的是,游戏状态的每个图形都存在不均匀的延迟,导致运动中出现断断续续的情况.
我的想法是有一行或多行代码导致某种延迟发生(因此跳过帧).我也认为这些线路应该是围绕update()和draw()方法PlayerCharacter,Obstacle以及MainGameBoard.
问题是,我还是专门针对Android开发和Android 游戏开发的新手,所以我不知道是什么原因导致这种延迟.
我试着在网上寻找答案......不幸的是,我发现所有这些都指向了GC.但是,我不相信这种情况(如果我错了,请纠正我)这些答案对我不适用.我也阅读了android开发者的Performance Tips页面,但找不到任何帮助.
所以,请帮助我找到解决这些令人讨厌的滞后的答案!
MainThread.java:
public class MainThread extends Thread {
public static final String TAG = MainThread.class.getSimpleName();
private final static int MAX_FPS = 60; // desired fps
private final static int MAX_FRAME_SKIPS = 5; // maximum number of frames to be skipped
private final static int FRAME_PERIOD = 1000 / MAX_FPS; // …Run Code Online (Sandbox Code Playgroud) 我正在尝试对插件进行反向工程:http://wordpress.org/extend/plugins/wordpress-social-login/
在其中的一部分,有这样一句话:(
我很难理解第一个,其余的只是参考,如果他们有事情要做.)
require_once( dirname( dirname( dirname( dirname( __FILE__ )))) . '/wp-load.php' );
define( 'WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL', plugins_url() . '/' . basename( dirname( __FILE__ ) ) );
define( 'WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL', WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/hybridauth/' );
Run Code Online (Sandbox Code Playgroud)
我的问题是......这个wp-load.php文件究竟是什么,代码需要它?通过观察它,所有我的理解是,它加载的网站的关键核心WordPress的文件被运行正常(functions.php,wp-settings.php,wp-config.php等...),
那岂不是插件运行已经意味着事实wp-load.php被加载?
此外,它完全浪费资源,因为它包含许多文件,其中可能包含其他文件,它就像无限循环的所需文件,每个文件都在另一个文件中,它们被加载两次..(如果其他插件使用此文件,甚至更多也是一种方法)
那到底是做什么的呢?
PS; 我通过Google-ing发现的所有内容都是如何正确地包含它(因为路径可以改变) - 但这不是我的问题/问题.
我一直在尝试将我的eclipse项目导出为gradle构建文件,以便与Android Studio一起使用,但我似乎无法使其正常工作.当我点击"完成"时没有任何反应.如果我反复点击它,我会看到一个显示毫秒然后消失的进度条.
我的ADT是版本22.3(这是最新的),我已经尝试了我在谷歌上找到的所有解决方案.
类似的问题可以在这里找到:Android项目的Eclipse Gradle导出什么都不做无法从Eclipse生成gradle.build文件
正如您所看到的,这个问题并没有真正可靠的解决方案,但人们写道他们是手动创建的.我不知道该怎么做.
我还没有听说过这个问题的解决方案吗?如果没有,我该如何手动创建文件?
我希望主视图模型具有某个列表,然后从许多其他视图模型访问.
例如,在MainViewModel.cs中我将有一个包含50个数字的列表,然后在NumListViewModel.cs中,我想访问它以便将其显示为列表,而在AddNumViewModel.cs中,我希望能够更新该列表.
有人建议我使用event/evenaggerator,我做了,但不幸的是,我知道所有我能做的就是从一个视图向另一个视图发送一个num并告诉它更新列表,但问题是,程序增长,我需要在主视图模型中有很多订阅者,当实际发生某些事情时,我将不得不根据订阅者数量"发布"事件,这使得它更难维护.
我还找到了另一个答案,指示在mainVM中创建另一个VM的实例,参数设置为"this",这是对mainVM的引用.它可以工作,但话说再说,它可能会很长.
所以我的问题是,有没有更好的方法从另一个VM访问属性?
就像字面上有一个类的实例,它将列表保存在mainVM中,然后只需能够从其他VM更新/访问它,而无需显式编程哪个VM可以.会让生活变得如此简单.
在你的回答中,请尽量避免建议框架.虽然有一些非常好的,但我希望能够至少做到这一点.
例如:
MainVM.cs:
public class MainVM
{
List lst = new List(); //Let's just say it's full...
}
Run Code Online (Sandbox Code Playgroud)
OtherVM.cs:
public class OtherVM
{
lst.Add(3);
}
Run Code Online (Sandbox Code Playgroud)
PS:是的,我知道它已经被问到了,是的,我已经完成了我的研究,但是我发现的答案太"静止",我猜?
我正在建设一个项目,直到现在我遇到的最大问题之一是导航.
我一直在寻找一些时间用于caliburn.micro/mvvm导航的例子,但它们似乎都很长,我真的不太了解它(初学者在这里!).
关于我的项目的一些信息:
我希望有一个外部窗口/外壳,菜单链接/选项卡根据在shell内部部分内部单击的按钮打开页面,并且能够打开从一个内部更改页面.
我目前有:ShellViewModel.cs,MainViewModel.cs,我的模型和我的观点. 现在,我需要知道的是如何在启动时使用contentcontrol/frames ...加载MainViewModel并使用contentcontrol/frames ...,以及如何从一个页面移动到另一个页面.
你也可以用点来写它,并把我链接到一些有用的例子,我相信我可以从那里继续.如果可能的话,最好彻底解释一下这些东西.
我试图理解Action<T>, Func<T> and Predicate<T>代表之间的差异,作为我的WPF/MVVM学习的一部分.
我知道Action<T> and Func<T>两个都是零到一个+参数,只Func<T>返回一个值,而Action<T>不是.
至于Predicate<T>- 我不知道.
因此,我提出了以下问题:
Predicate<T>办?(欢迎举例!)Action<T>返回,那么使用它会不会更简单?(或任何其他类型,如果我们正在讨论.)voidFunc<T>我希望你在问题中避免使用LINQ/List示例.
我已经看过那些了但是它们只是让它变得更加混乱,因为让我对这些代表"感兴趣"的代码与它无关(我想!).
因此,我想使用我熟悉的代码来获得我的答案.
这里是:
public class RelayCommand : ICommand
{
readonly Action<object> _execute;
readonly Predicate<object> _canExecute;
public RelayCommand(Action<object> execute)
: this(execute, null)
{
}
public RelayCommand(Action<object> execute, Predicate<object> canExecute)
{
if (execute == null)
throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
[DebuggerStepThrough]
public bool CanExecute(object parameters)
{
return …Run Code Online (Sandbox Code Playgroud) 所以我正在理解事件和代表.
我完全理解代表的用法.关于委托的唯一问题是代理是否可以配置为以任何方式使用与事件无关的函数... 如果是,我如何为委托定义的函数编写逻辑?(我想这个功能并没有太多意义,但知道它很好.)
至于事件......我很难理解它.我认为事件是在代码中发生某些事情时执行的函数.但是,我没有得到创建活动的过程.部分.
对于这个问题,我将使用Gary Willoughby的答案:https://stackoverflow.com/a/803528/1104766 它是在我试图理解整个主题的问题上发布的.
我在上面的示例中没有得到的结果:
MyObject.OnMaximum += new MyEventHandler(MaximumReached);
首先,如何创建委托实例,并在需要2时只传递1个变量?必须有一些我缺少
的东西...... 关于这一行的第二件事是,new ...()实例被添加到OnMaximum驻留在MyObject其中的实例中MyClass- 如果可以完成这样的事情究竟是OnMaximum什么?它从来没有真正定义过!
if(OnMaximum != null) {
OnMaximum(this, new MyEventArgs("You've entered " +
value.ToString() +
", but the maximum is " +
Maximum.ToString()));
}
Run Code Online (Sandbox Code Playgroud)
至于这部分,OnMaximum被调用,但它的逻辑从未真正定义在代码中的任何地方,那么结果会是什么呢?显然我猜它是"你输入............."的文字,但我的问题是更具体,功能/事件收到的值真正发生了什么?
为了清楚起见,我在BOLD中标记了所有问题.
PS,我知道这个问题一般都已发布过几次.
请注意,此特定问题是指其他成员撰写的答案,此处提出的问题仅适用于此示例.这就是为什么谷歌没有真正找到这样的答案的原因.
尽管如此,我在发布之前就进行了搜索,但我确实试图理解,但我想这些例子是我了解某些内容的最佳方式,尤其是当我对英语CS词汇的知识缺乏时.