是)我有的:
android:configChanges="orientation|screenSize|keyboardHidden"
有什么问题:
我正在使用ViewA.getLocationOnScreen
视图屏幕上的位置.当我第一次打开对话框时,位置是正确的.旋转屏幕后,由于android:configChanges
视图以某种方式不更新它的位置,即使对话框在活动中正确居中,ViewA的getLocationOnScreen指向旋转前的旧位置.
我试过的.
我覆盖了onConfigurationChanged
对话框并尝试了这个:
ViewA.requestLayout
(什么都不做)ViewA.getViewTreeObserver().addOnGlobalLayoutListener
并在onGlobalLayout上将topMargin设置为1并再次调用requestLayout.(这个工作但我不想在每次旋转屏幕时设置边距)我想知道的是如何强制重新定位对话框,使得getLocationOnScreen在旋转后返回正确的值
请注意,我不想改变 android:configChanges
目前的情况
我正在使用这个库https://github.com/kanytu/android-parallax-recyclerview来实现RecyclerView的视差效果.到现在为止还挺好.不过,我希望得到像Google报亭这样的效果,标题仍然低于卡片.
问题
问题是,当列表的第一个元素触及父视图的顶部时,RecyclerView(或LinerLayoutManager)会分离标题视图:
正如您所看到的那样,第一张cardview触及顶部的那一刻就是RecyclerView分离标题的那一刻.
我确信RecyclerView.findViewHolderForPosition(0) == null
当卡到达顶部时,我得到的逻辑本身没有问题.证明标题已被回收.
试过的解决方案
我尝试过很多东西:
ViewHolder.setIsRecyclable使用此方法将持有者设置为不回收者不会产生任何影响.
LayoutManager.ignoreView我尝试将视图标记为从scapping和recycle中忽略.结果是一个例外说:
Trying to recycle an ignored view holder. You should first call stopIgnoringView(view) before calling recycle.
setItemViewCacheSize什么都不做.尝试调用setItemViewCacheSize(50)
它并没有对标题做任何事情.
setMaxRecycledViews尝试将viewType = HEADER的回收视图的最大值设置为0,并且它仍然可以回收它.
结论
所以我怀疑是否有任何方式标记该项目没有分离,直到我订购(如检查它是否仍然可见,然后分离它).
关于它的github还有一个问题:https://github.com/kanytu/android-parallax-recyclerview/issues/7
我自己的处理器支持虚拟化:
我想我也在我的BIOS设置中激活了它.
它是我使用的vmware虚拟机处理器的信息页面(9.0.2 build-1031769)
仍然,当我尝试安装硬件加速执行管理器以启动我的Android虚拟设备时,我采取以下错误:
我该怎么办?
我已经在这篇文章的帮助下以某种方式实现了回收视图,现在我的要求是在此回收视图中从运行时删除一行.
链接 - http://treyrobinson.net/blog/android-l-tutorials-part-3-recyclerview-and-cardview/
请帮我.
谢谢.
我试图防止proguard混淆接口方法变量名。我的proguard.pro具有以下配置,但方法变量仍显示为a,b等。
-保持公开课* {public *; }
-keepclassmembers class * {public *; }
-keepattributes异常,内部类,签名-keep参数名称-keep公共接口com.test.listener.MyListener {*; }
我遇到了一个特定正则表达式的问题,它在Android Studio中运行时返回的值与预期不同.
场景:
代码很简单:
val regex = "(?<=N|E|\\G)\\d{2}(?=\\d*$)".toRegex()
print("${regex.findAll("N2032354345").count()}")
Run Code Online (Sandbox Code Playgroud)
这应该打印5,因为此字符串中有5个匹配项(https://regex101.com/r/6PDbkI/1),如果我们在Ideone.com或Kotlin Playground中运行,结果是预期的5.
理论:
似乎Android Studio中的正则表达式未能使用\G
运算符(这可能与Kotlin拆分与正则表达式工作不符合预期)
有人遇到同样的问题吗?有没有办法将正则表达式更改为Android Studio中没有失败的类似的正则表达式?我错过了一些设置吗?
我想在Android中实现一个列表效果,如Ultravisual Iphone应用程序中显示的那样:
类似的效果可以在Android的米兰世博会2015应用程序上查看.
我希望在向下滑动ListView时顶级项目变得更大.
我不知道如何做到这一点......它是当前视图中第一个项目的动画吗?
如果某人有一个例子或线索来实现这一点,那就太好了!
谢谢
我动态生成像按钮一样工作的TextViews.现在我想在他们受到压力时强调它们.像改变文本颜色或背景颜色的东西.我试图使用选择器,但它不起作用.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="#ffffff"/>
<item android:state_pressed="true" android:state_enabled="false" android:color="#ffffff" />
</selector>
Run Code Online (Sandbox Code Playgroud)
这是我创建TextViews的循环.
int z = 0;
for (MOKGenericDataItem d : data) {
if (d.getButtonText() != null) {
final int pagePosition = z;
TextView btn = new TextView(getActivity());
btn.setId(z);
final int id_ = btn.getId();
btn.setText(d.getButtonText());
btn.setTextSize(TypedValue.COMPLEX_UNIT_SP, 30);
btn.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f));
btn.setGravity(Gravity.CENTER);
mLineareLayoutViewPagerButtons.addView(btn);
btn1 = ((TextView) view.findViewById(id_));
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
mViewPager.setCurrentItem(pagePosition,false);
}
});
}
z++;
}
Run Code Online (Sandbox Code Playgroud)