Articles of 布局

Android的CoordinatorLayout + AppbarLayout + Viewpager始终滚动

我有一个经典的布局,顶部有一个工具栏,下面有一个TabLayout,还有一个ViewPager切换TabLayout的选项卡。 当ViewPager中的内容是可滚动的时,工具栏应该不可见,并且当TabLayout到达顶端时应该跟随并粘住。 所有这些在我当前的代码中都是很好的,除了无论ViewPager内容的大小如何,ToolBar总是可以滚动的。 看到我的代码如下。 任何关于如何解决这个问题的精彩想法? <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary" android:orientation="vertical"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.ToolBar" app:layout_scrollFlags="scroll|enterAlways" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:scrollbars="horizontal" app:tabIndicatorColor="@color/black_text" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/tabs_activity_view_pager" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 编辑: 我可以看到viewPager的高度与整个根视图的高度相同。 这可能是intentded,因为appbar_scrolling_view_behavior确实似乎添加了顶部和底部的偏移量。 它看起来很奇怪,因为它总是会滚动工具栏和tabbar。

我怎样才能dynamic设置在Android中的视图的位置?

如何通过代码改变视图的位置? 像改变它的X,Y的位置。 可能吗?

当ListView的大小发生更改时,保持ListView的最后一个可见项

我想要的很简单,至less我认为这很简单。 我只想要一个窗口的EditText在屏幕的底部,其余的空间填充ListView。 不幸的是,它没有像我预期的那样工作。 我想要的是以下图像。 有没有简单的方法来在XML中做到这一点,或者我应该写一些特殊的代码呢? 我有问题的Android源代码。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/demolist" android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_weight="1" > </ListView> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0"> </EditText> </LinearLayout >

'textEmailAddress'和'textWebEmailAddress'有什么区别

我注意到,我们可以为EditText指定两个属性作为inputType textEmailAddress textWebEmailAddress Google doc对此解释得非常less。 我们可以理解textWebEmailAddress是与HTML或WebView相关的东西,但我想知道它是多么的令人兴奋。

如何让我的布局能够向下滚动?

我无法向下滚动屏幕查看“已答复:”部分中的数据。 我怎样才能让我的布局滚动?

Android:2个相对布局划分为一半的屏幕

我多次尝试绘制2个水平alignment的相对布局,并分成两半。 我用油漆devise图像来解释我的意思。 任何build议?

如何刷新GridView?

我有一个非常类似于Google教程的GridView,只是我想在运行时添加ImageView(通过子活动)。 结果是好的,但视图的布局是乱七八糟的:GridView没有填充它的父母的内容,我该怎么做才能正确地devise它? 这里添加孩子的代码: public void initializeWorkbench(GridView gv, Vector<String> items) { Prototype.workbench.setDimension(screenWidth, divider.height()+workbenchArea.height()); Prototype.workbench.activateWorkbench(); // this measures the workbench correctly Log.d(Prototype.TAG, "workbench width: "+Prototype.workbench.getMeasuredWidth()); // 320 Log.d(Prototype.TAG, "workbench height: "+Prototype.workbench.getMeasuredHeight()); // 30 ImageAdapter imgAdapter = new ImageAdapter(this.getContext(), items); gv.setAdapter(imgAdapter); gv.measure(screenWidth, screenHeight); gv.requestLayout(); gv.forceLayout(); Log.d(Prototype.TAG, "gv width: "+gv.getMeasuredWidth()); // 22 Log.d(Prototype.TAG, "gv height: "+gv.getMeasuredHeight()); // 119 Prototype.workbench.setDimension(screenWidth, […]