我需要在一个片段中放置一个ViewPager,但我有两个片段,片段1是我的菜单,片段2我想用作ViewPagerIndicator.
但是片段不能有另一个片段......我需要做些什么呢?

android android-fragments android-viewpager android-nested-fragment
使用此代码我只有淡入淡出,我正在寻找如何添加淡出.我添加了另一个名为"fadeout"的xml,但我无法将其集成到我的代码中.
ImageView imageView = (ImageView)findViewById(R.id.imageView);
Animation fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
imageView.startAnimation(fadeInAnimation);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
imageView.startAnimation(fadeInAnimation);
}
}
Run Code Online (Sandbox Code Playgroud)
fadein.xml
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="Your Duration(in milisecond)"
android:repeatCount="infinite"/>
</set>
Run Code Online (Sandbox Code Playgroud) 我已将TextView设置为显示.我想在一行中显示正在执行的操作,例如:
9856243187 + 2457896123 - 214583
Run Code Online (Sandbox Code Playgroud)
问题是,当输入到达TextView的边缘时 - 它会跳转到下一行.
那么,无论如何都要避免这种行为,并将输入保持在一行中,即使它离开了屏幕?
我有一个名为SharedViewModel的ViewModel:
public class SharedViewModel<T> extends ViewModel {
private final MutableLiveData<T> selected = new MutableLiveData<>();
public void select(T item) {
selected.setValue(item);
}
public LiveData<T> getSelected() {
return selected;
}
}
Run Code Online (Sandbox Code Playgroud)
我在Google的Arch ViewModel参考页面上基于SharedViewModel示例实现它:
活动中的两个或更多个片段需要彼此通信是很常见的.这绝不是微不足道的,因为两个片段都需要定义一些接口描述,并且所有者活动必须将两者绑定在一起.而且,两个片段必须处理尚未创建或不可见的其他片段的情况.
我有两个片段,叫做ListFragment和DetailFragment.
到现在为止我用里面称这两个片段MasterActivity.一切都运作良好.
我得到了ViewModel ListFragment,选择了要使用它的值DetailFragment.
mStepSelectorViewModel = ViewModelProviders.of(getActivity()).get(SharedViewModel.class);
Run Code Online (Sandbox Code Playgroud)
但是,现在我需要在某些情况下ListFragment(将不同设备配置的布局)添加到另一个名为的活动中DetailActivity.有没有办法像上面的例子那样做?
android viewmodel android-fragments android-activity android-architecture-lifecycle
我最近和Dagger一起吃饱了,因为DI的概念完全合情合理.DI的一个更好的"副产品"(杰克沃顿在他的一个演讲中提出)更易于测试.
所以现在我基本上使用espresso做一些功能测试,我希望能够将虚拟/模拟数据注入应用程序并让活动显示出来.我猜是因为,这是DI的最大优势之一,这应该是一个相对简单的问题.出于某种原因,我似乎无法绕过它.任何帮助将非常感激.这是我到目前为止(我写了一个反映我当前设置的例子):
public class MyActivity
extends MyBaseActivity {
@Inject Navigator _navigator;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyApplication.get(this).inject(this);
// ...
setupViews();
}
private void setupViews() {
myTextView.setText(getMyLabel());
}
public String getMyLabel() {
return _navigator.getSpecialText(); // "Special Text"
}
}
Run Code Online (Sandbox Code Playgroud)
这些是我的匕首模块:
// Navigation Module
@Module(library = true)
public class NavigationModule {
private Navigator _nav;
@Provides
@Singleton
Navigator provideANavigator() {
if (_nav == null) {
_nav = new Navigator();
}
return _nav;
}
}
// App level module
@Module(
includes = …Run Code Online (Sandbox Code Playgroud) android dependency-injection functional-testing dagger android-espresso
我想在Android Studio上设置我正在使用的Java版本.
如何在"项目结构......" - >"项目"中设置"项目语言级别",就像我在Intellij上一样?
我已更新到Android Studio 3.0,现在我无法在启用Instant Run的情况下运行该应用.
由于java.io.FileNotFoundException,我得到'执行失败的任务',因为它找不到apk下的
../build/intermediates/instant-run-resources/resources-production/
知道如何克服这个问题,以便我可以使用Instant Run运行项目吗?
我不知道在哪里可以找到丢失的apk文件或者如何更改路径以查找它.
我想开发一个列表视图,当从左向右滑动时 - 在左角显示一个accept(true)图标(不可点击 - 从左向右滑动时只显示颜色变化),如下面的屏幕截图:

当我从左向右滑动时,它将接受(调用'accept'API),当我从右向左滑动时,它将显示如下内容:

这是在iOS中完成的,但我无法在Android中找到如何执行此操作,我尝试使用Google搜索,但无法找到我想要的内容.
我尝试了以下示例:http://www.tutecentral.com/android-swipe-listview/
但是在那个例子中,当我从左向右和从右向左滑动时,会调用相同的onOpened(..)方法,因此知道何时调用accept以及何时调用reject API会让人感到困惑,因为在任何类型上调用相同的方法刷卡.
并且我还希望接受(在左侧)和拒绝(在右侧)图像仅在我向左或向右滑动时显示,但是当我拿起手指时它们必须消失并且应该显示整个ListView (绝不要同时显示两个侧面图像).
所以任何人请帮助我了解如何做到这一点.
我的问题有些令人困惑,但我不知道如何解释整个动画,所以我试着像上面那样解释.
如果有人能帮助我,我将非常感激.
我TextureView在我的代码中设置了一个SurfaceTextureListener.
在Android 6.0上,每当我离开活动并在Android 7.0上返回(分别)时都会调用这些方法onSurfaceTextureDestroyed,onSurfaceTextureAvailable我注意到onSurfaceTextureAvailable在创建Activity之后只调用一次.
每当我离开活动并返回时,表面不会被破坏和重新创建,就像我以前从Android 6.0那样.
经过一些调查后,我注意到API 18,19,24表现一种方式,API 20-23表现为另一种方式.
知道为什么,主要是如何使它在所有Android版本上表现相同?
在我的应用程序中,我目前正在使用windowManager.getDefaultDisplay()来确定屏幕大小.
使用新的三星S8导航栏,可以使用左下角的"点"显示和隐藏,我得到显示或隐藏的导航栏相同的显示尺寸.它总是返回显示大小,就像显示导航栏一样 - 当导航栏被隐藏时我希望得到1080x2220,但总是得到1080x2076.
有没有什么方法可以通过编程方式区分案例并获得正确的屏幕尺寸,以便我可以正确显示我的应用程序?
android ×9
android-architecture-lifecycle ×1
dagger ×1
java ×1
listview ×1
samsung-s8 ×1
screen-size ×1
swipe ×1
textureview ×1
textview ×1
viewmodel ×1