Articles of framelayout

如何以编程方式调整视图的z顺序

下面的代码是我尝试将mMyView发送到mPivotParent的子集的前面或后面,因此它将呈现在其他人的顶部或后面。 在我的案例中,隐藏视图是不够的。 mPivotParent是一个FrameLayout。 查看mPivotParent.mChildren显示我的代码“工作”,因为正确设置了顺序。 但它对z顺序没有影响。 不仅如此,重新定位代码被调用的次数越多,帧速率就会越来越慢。 总共有4个孩子, mPivotParent.mChildrenCount按预期保持在4。 我的目标是API级别7。 @Override public boolean onTouchEvent(MotionEvent event) { Display display = getWindowManager().getDefaultDisplay(); float x = event.getRawX(); float sWidth = (int)display.getWidth(); float xLerpFromCenter = ((x / sWidth) – .5f) * 2.f; // [-1, 1] mRotateAnimation.mfLerp = xLerpFromCenter; if(xLerpFromCenter 0.2f && mPivotParent.getChildAt(0) == mMyView) { mPivotParent.removeView(mMyView); mPivotParent.addView(mMyView, mPivotParent.getChildCount() – 1); […]

使用android.support.v7.widget.ContentFrameLayout.setDecorPadding在某些设备上崩溃应用程序

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mypackage/com.mypackage.activities.HomeActivity}: java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.support.v7.widget.ContentFrameLayout.setDecorPadding(int, int, int, int)’ on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2721) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2782) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6286) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Caused by java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.support.v7.widget.ContentFrameLayout.setDecorPadding(int, int, […]

Android全屏摄像头 – 同时保持摄像头选择的比例

我们正在尝试构建类似于Instagram Camera屏幕的东西。 即允许用户拍摄square照片。 在执行此操作时,Ui必须能够让用户在fullScreen模式下看到相机。 我们想强制用户以portrait模式拍摄图像 获得相机可能的比率 我们正在计算camera的best比例 private Camera.Size getOptimalPreviewSize(List sizes, int w, int h) { final double ASPECT_TOLERANCE = 0.1; double targetRatio = (double) h / w; if (sizes == null) { return null; } Camera.Size optimalSize = null; double minDiff = Double.MAX_VALUE; int targetHeight = h; for (Camera.Size size : sizes) { double […]

如何以编程方式创建具有id和src参数的imageView?

以下工作,但我想消除xml,以便我可以编程方式更改图像:Java: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.p6_touch); ImageView floatImage = (ImageView) findViewById(R.id.p6_imageView); floatImage.setOnTouchListener(this); } XML:

覆盖另一个Android的图像

我有相册,显示图像为带有白色边框的圆角。 图像将动态添加。 我试过框架布局,但它不适合我。 我的尝试:在现有的圆形图像上添加动态图像.. 以上xml没有给出确切的结果..任何想法?

如何让click事件传递给android中的容器?

我有一个FrameLayout表,其中每个帧包含一个ImageView或一个TextView 。 无论帧中的内容如何,​​我都希望通过帧上的OnClickListener检测onClick事件。 我怎样才能做到这一点? 这是我的一些布局,我总共得到了5行(这里只显示了1行)。 如上所述,每行有5个FrameLayouts,每个包含一个TextView。 我无法将OnClickListener放在TextView上,因为这可能会在运行时更改为ImageView。 因此我想在FrameLayout上使用OnClickListener。 似乎FrameLayout的内容阻止它检测到click事件。 以下是我如何设置OnClickListeners的示例: View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View v){ // do something } }; TableLayout tableLayout = (TableLayout) findViewById(R.id.gateContainer); // Go through all TableRows for (int i = 0; i < tableLayout.getChildCount(); i++){ TableRow tableRow = (TableRow) tableLayout.getChildAt(i); // Set listener for each […]

是否可以将onTouchEvent传递给Android中的多个视图?

我已经在SO上阅读了关于这个主题的一些问题,但是还没有find一个可靠的答案。 我有一个framelayout,我堆叠多个自定义视图,但onTouch事件只适用于顶视图。 (自定义视图是具有相同onTouch事件的相同视图,只是其中的多个) 的FrameLayout customView [2] <—这是添加的最后一个视图,也是唯一一个接收该事件的视图 customView [1] customView [0] 我正在Android 2.2上测试它,我想知道下面的其他视图是否有任何方法可以知道触摸发生的位置? 编辑 (添加一些代码) 我正在添加一些代码,以帮助解释我遇到问题的地方。 起初我只是自动让onTouchEvent返回true。 这使得最后一个视图(在我的情况下是customerView [2] )将是唯一一个生成值的视图。 但是,一旦我添加了设置onTouchEvent以返回true或false的方法,现在返回生成值的唯一视图是customView [0] 。 我希望这能解决我所要求的问题。 我对此很陌生,我感谢你花时间解释它(当然我感谢你的耐心)。 此外,我意识到我的TextView不会更新每个touchEvent的值,我正在努力修复它。 我的活动: public class MyActivity extend Activity { CustomView[] customView; TextView[] textView; int numViews 3; //FrameLayout and Params created @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); for(int i = 0; […]

如何以编程方式在FrameLayout底部设置LinearLayout?

我有这个代码: FrameLayout game = new FrameLayout(this); LinearLayout gameWidgets = new LinearLayout (this); game.addView(gameWidgets); 如何在FrameLayout的底部设置LinearLayout?

remoteview framelayout背景颜色

int mColor = 0xff00ff00; remoteView.setInt(R.id.framelayout1, “setBackgroundResource”, android.R.color.white); 如何使用mColor设置颜色?

使用FrameLayout作为动态壁纸

我正在尝试使用FrameLayout作为动态壁纸的内容。 根据Romain Guy的回答,这应该是可能的,但我没有太多运气在视图上调用.measure()和.layout() 。 谁能给我一个如何在动态壁纸中使用常规布局的简短示例?