Articles of android view

在Android中动态添加视图到片段?

是否可以动态地将视图添加到片段? 如果是的话,我该怎么做?

查看从左侧离开并从右侧进入

我想添加animation,以便我的imageview向左滑动,离开屏幕并从右侧进入,滑回原来的位置。 我尝试过做这样的事情.. 但animation不是我的愿望..任何人都可以帮助我

强制重新布局视图组,包括其所有子项

我正在编写一个可以放大的自定义布局(扩展FrameLayout )。它的所有子节点也是自定义视图,它实际上通过getter方法从父节点获取比例因子,并通过设置缩放尺寸来相应缩放 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); float scaleFactor = ((CustomLayout) getParent()).getCurrentScale(); setMeasuredDimension((int) (getMeasuredWidth() * scaleFactor), (int) (getMeasuredHeight() * scaleFactor)); } 我正在使用ScaleGestureDetector来检测“缩放到缩放”手势并更改布局的scaleFactor。 然后我通过调用requestLayout强制自定义布局上的布局。 不幸的是,这似乎对其孩子没有任何影响。 即使父母经历了测量和布局周期,孩子们的onMeasure & onLayout也从未被调用过。 但是,如果我直接在其中一个孩子上调用requestLayout ,那么只要该孩子根据父母中设置的比例因子进行缩放! 似乎除非在视图上专门调用requestLayout ,否则它实际上不会再次测量自身,而是使用某种缓存。 从视图的源代码中可以看出这一点 if (mAttachInfo != null && mAttachInfo.mViewRequestingLayout == null) { // Only trigger request-during-layout logic if this is the view […]

长按EditText崩溃:无法添加窗口

我试图在EditText进行长按,但是当我进行长时间点击时,我会收到以下错误。 我希望能够长按一次以获取“复制/粘贴/全选”上下文popup窗口,以便用户可以将文本粘贴到框中。 Fatal Exception: android.view.WindowManager$BadTokenException: Unable to add window — token android.view.ViewRootImpl$W@799bfc6 is not valid; is your activity running? EditText位于PopupWindow的ScrollView中。 因此,当错误发生时,我当前处于活动状态,并且PopupWindow打开,我在PopupWindow中包含的EditText中进行长按。 Gradle设置 compileSdkVersion 25 buildToolsVersion ‘25.0.0’ defaultConfig { applicationId ‘com.accoservice.cico’ minSdkVersion 17 targetSdkVersion 25 versionCode 37 versionName ‘4.2.6’ multiDexEnabled true } 包含EditText的布局: popup窗口: @Override public void onClick(View v) { noteDialog(getResources().getString(R.string.laborentryresolutionstart), tv_labor_entry_resolution_start); } public void noteDialog(String […]

导航回活动时ViewPager + SurfaceView =长延迟

基本上标题是什么, 我的应用程序主要包含一个使用FragmentStatePagerAdapter的ViewPager 当我向FragmentStatePagerAdapter添加一系列SurfaceViews时会出现问题。 仅仅为了测试目的,我没有以任何方式inheritanceSurfaceViews。 当我浏览几页时,点击“home”,然后返回活动,整个设备在渲染任何内容之前冻结一两秒钟。 我可以在从背包中取出后恢复所需的时间内多次启动和完成应用程序。 我知道应用程序正在运行,因为在第一次screendraw最终发生时,几个AsyncTasks几乎已经完成了。 我知道这些AsyncTasks不会导致问题,因为我已将它们删除无效。 当我将SurfaceViews更改为Views ,问题完全消失。 当我使用我的实际SurfaceViews(我的项目不可协商)时,会出现此问题。 多个设备上也会出现此问题。 在这一点上,我认为错误完全在于ViewPager,但我不知道该怎么办,因为我需要那个接口组件。 任何帮助将不胜感激! 编辑: 为了澄清,SurfaceViews / Views表示添加到FragmentStatePagerAdapter的片段视图。

“resultIndex为-1,多边形必须无效!”adter addView()

在ViewGroup(FrameLayout)上调用addView()方法后出现exception。 public final View createView(Context context, Property property, ViewGroup parent) { mView = LayoutInflater.from(context).inflate(getLayout(), null); mContext = context; mProperty = property; processBaseViews(mView, property); processViews(mView, property); parent.addView(mView); return mView; } 例外: 10-17 18:39:40.060: E/OpenGLRenderer(511): resultIndex is -1, the polygon must be invalid! 10-17 18:39:40.061: A/libc(511): Fatal signal 7 (SIGBUS), code 1, fault addr 0x136 in tid […]

Android:使用动态子布局绑定布局(ViewHolder和SubViewHolder)

我正在从服务器解析JSON到Android并在SQLite中存储数据,其中我有两个表news和news_attachment 。 我已经完成了在列表中显示news和news_attachment代码,但现在我想为一条新闻显示多个附件。 以下代码显示特定新闻的last_attachment。 我想显示自定义布局的所有附件,它将在父视图中自动结算。 NewsAdapter.java public class NewsAdapter extends SimpleCursorAdapter { DatabaseHelper dbHelper; LayoutInflater inflater; public NewsAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) { super(context, layout, c, from, to, flags); inflater = LayoutInflater.from(context); dbHelper = new DatabaseHelper(context); dbHelper.open(); } @Override public void bindView(View convertView, Context context, Cursor cursor) { […]

如何将android状态栏颜色更改为白色,状态栏图标颜色更改为灰色

我正在尝试将状态栏的颜色更改为带有灰色图标的白色。 我已经为这个问题尝试了几乎所有的代码解决方案,但是没有为我工作。 我正在使用这个java fucntion来改变它,我也发布了我的样式(21)代码。 public static void statusBarColor(Window window, Context ctx) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //Window window = getActivity().getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.setStatusBarColor(ctx.getResources().getColor(R.color.statusbar_color)); } } 这是我的java代码,但它在千次尝试后无法运行。 以下是我的style.xml(21) false true true @android:color/transparent true 如果你认为它的一些其他问题的副本,那么我现在应该让你尝试3,4页谷歌搜索,并实施它们。

View和Subview之间的区别 – Android

Android中的视图和子视图有什么区别?

如何在样式文件中定义drawable的大小?

我想在res / values / styles.xml中只指定一次两个checkbox及其四个形状drawable的大小 RES /抽拉/ cb1_checked.xml RES /抽拉/ cb1_unchecked.xml RES /抽拉/ cb2_checked.xml res / drawable / cb2_unchecked.xml 。 这样,尺寸将在样式中出现一次,而不是在drawable中出现四次。 下面的两次尝试都不起作用。 你能建议一个解决方案吗? (如果您发现这两次尝试有什么问题,请提及。) ————————————————– ————– 尝试1 ———————————- —————————— 更换 RES /抽拉/ cb1_checked.xml 同 RES /值/ styles.xml 24dp 24dp ————————————————– ————– 尝试2 ———————————- —————————— 加 RES /值/ styles.xml cb_background 并定义一个可绘制的背景 RES /抽拉/ cb_background.xml ————————————————– ————–已添加 […]