草庐IT

android - 在自定义 ViewGroup 中为 child 设置动画的正确方法

我正在构建一个自定义的ViewGroup,它将一群child安排在特定的位置。在特定的触发条件下(比如按下外部按钮),子项会动画到新的位置。我尝试这样做的方法是启动一个计时器,并在每次计时器更新时计算新位置,然后调用requestLayout()。当我这样做时,动画有点紧张。有没有更有效的方法来做到这一点?关于自定义重新排列subview的正确步骤有什么想法吗? 最佳答案 你应该实现一个AnimationListener像这样:Animationanim=AnimationUtils.loadAnimation(R.android.

android - 为什么 FrameLayout 的 child 全部可见或全部不可见?

我有一段代码如下:super.onCreate(savedInstanceState);android.view.LayoutInflaterinflater=(android.view.LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);android.widget.FrameLayoutfl=(android.widget.FrameLayout)inflater.inflate(R.layout.empty_layout,null);android.view.Viewl1=inflater.inflate(R.layo

android child view 没有按下状态

我做了一个线性布局,我在上面添加View,模拟一个表,因为我已经读到ScrollView内的ListView不是一个选项:)所以我在ScrollView中有一个带有wrap_content的线性布局。问题是对于我正在添加的View,我无法像以前那样触发任何按下状态来更改图形,当它在ListView中时效果很好。我有以下内容:if(arrayWorksWith.size()!=0){this.listAdapter=newWorksWithListAdapter(this,R.layout.works_with_cell,R.id.lblItemTitle,arrayWorksWith)

java - 可扩展 ListView - child ,不同的布局

我对使用该应用程序的可扩展列表有疑问。当我开始显示/隐藏不同的组时,我的列表抛出一个错误。然后他向我抛出一个错误:java.lang.NullPointerException:Attempttoinvokevirtualmethod'voidandroid.widget.TextView.setText(java.lang.CharSequence)'onanullobjectreference我不知道为什么它向我显示此错误,因为如果我的convertView没有持有人,那么它会创建新的:(首先它使用用于存储类别的List_Kategoria文件。其次,我有几个代表几种布局的列表。它们

android - child 在父 View 外不可点击

我创建了一个带有标记的mapView。看下面这张图:Grandparent是一个填充ViewParent是我的MarkerViewChild是一个可点击的标记父级有clipChildren(false),因此子级可见。我的问题是除了Child2在Parent之外的部分,子项是可点击的。Parent也有适当的TouchDelegate(我也为children试过这个)。我怎样才能让完整的child可以点击? 最佳答案 如果不更改元素,我无法使其工作。我最终扩大了父级并使用setTranslationY作为标记以将它们保持在这样的位置:

android - 将 child 添加到 NavigationView 组内的 MenuItem

我已经检查了一些问题,但没有一个能真正回答我正在寻找的问题。基本上,我试图将一个子项添加到一个父项,或者在横向面板中模拟一棵选项树,就像GooglePlay应用所做的那样:我在我的XML文件中试过这个作为测试:这就是我得到的:“裸体”项目已更改为类别,其中的项目只是作为组中的原始序列添加。我也尝试使用android:menuCategory="container"和android:menuCategory="secondary"选项,但结果是一样的。有什么建议吗? 最佳答案 我在源代码中找不到这样的API。我反编译了PlayStor

android - 得到最后一个有焦点的 child

我发现当使用方向键或轨迹球在我的应用程序中导航时,如果您向右移动并且ListView失去焦点,当ListView重新获得焦点时,另一个child获得焦点而不是上次获得焦点.我尝试使用onFocusChange(...)来保存哪个child拥有焦点,但看起来直到失去焦点之后才调用它,所以我永远无法捕获最后一个拥有焦点的child。有没有办法捕获谁有焦点,这样我就可以在ListView再次捕获焦点后调用child的requestFocus()?不幸的是,我不能使用处理程序,因为这不是一个经常使用的功能,我不想为了较小的功能而牺牲性能。这是我没有用的代码(无论如何focusedView总是n

Android 捕获所有运动事件并将它们分派(dispatch)给 child

好吧,这让我头疼了一个多小时。我在ViewFlipper中有几个ScrollView。我想在让ScrollView滚动的同时实现左/右滑动手势。这个想法很简单-拦截事件和viewflipper,解析它并将它传递给child,无论发生什么。这样我就可以轻松检测到滑动,而不会弄乱事件。理论上我所要做的就是处理onTouch或类似的东西并返回false,这样事件就会被分派(dispatch)给child。但是Android非常聪明,如果我返回false,他不会向我发送除ACTION_DOWN之外的任何其他事件,因为它认为我不需要它们。那么我怎样才能捕获所有到达ViewFlipper及其子项的

安卓布局动画 Controller : How to force the first child to wait for the last child's animation to finish before repeating?

我正在尝试构建一个动画,其中此图像:变成这张图片:三个条形像1...2...3...一样淡入,然后又回到无。此时动画将重复。这是我尝试做的工作:AlphaAnimationanim=(AlphaAnimation)AnimationUtils.loadAnimation(this,R.anim.fade_in);anim.setRepeatMode(Animation.RESTART);anim.setRepeatCount(Animation.INFINITE);anim.setStartOffset(3000);LayoutAnimationControllercontroller

java - Firebase - 为注册用户生成带有 child 的 child

当用户注册到我的应用程序时,我想在Firebase中添加多个数据,包括带有一些child的节点“Scores”,但我不知道如何添加它。Firebase数据库:"Users":{"L89LA3099j-VAhi5Y5P":{"Admin":false,"Email":"example@domain.com","Nickname":"Anonymous","Picture":"https://firebasestorage.googleapis.com/v0/b/cul...","Scores":{"Arts":0,"Classicalmusic":0,"Literature":0}}}这