Tag: framelayout

是否可以将按钮添加到以编程方式设置的framelayout?

这有点难以描述,但我会尽我所能: 我正在开发一个使用自定义相机活动的Android应用程序。 在此相机活动中,我使用以编程方式创建表面视图并将其设置为在xml布局文件中定义的framelayout(覆盖全屏)。 我现在的问题是,如何在框架布局中添加其他元素? 只能以编程方式? 我问,因为到目前为止我只能以编程方式添加其他元素。 我在xml布局中添加的元素没有出现在屏幕上。 它们可能只是我添加到框架布局的表面视图的后面吗? 如果是这样,是否可以将它们带到前线? 感谢你们!

如何通过拖放将图像保留在布局中

我有以下XML: 这在我的Android手机中提供了以下图像 我如何编码,以便用户可以将图像拖动到布局中的任何位置, ImageView将始终保持在布局中? 如果X<0则为X =(X + imageview.width()) 如果Y<0则为Y =(Y + imageview.height()) 如果X>layout.width()它将是X =(X-imageview.width()) 如果Y>layout.height() ,它将是Y =(Y-imageview.height())? 与此类似的东西: 因此,如果用户拖动视图外,方形图像将保留在FrameLayout中的最后一个已知位置 我将布局背景转换为位图,以便我可以使用它来获取X和Y坐标并转换为我的应用程序的RGB值。 f = (FrameLayout) findViewById(R.id.fl); f.setOnTouchListener(flt); iv = (ImageView) findViewById(R.id.iv); f.setDrawingCacheEnabled(true); f.buildDrawingCache(); bm = f.getDrawingCache(); 我有以下代码可以工作,但每隔一段时间我得到一个错误NPE for x must be <= layout.width()或y must be <= layout.height(); 。 有时应用程序允许我拖动布局本身的右侧或底部,这不应该发生,因为我有条件不允许它。 @Override public boolean onTouch(View v, MotionEvent event) { […]

尝试findViewById时抛出Nullpointerexception

我有以下活动: public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new StartFragment()) .commit(); } Button login = (Button) findViewById(R.id.loginButton); login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MainActivity.this,LoginActivity.class); startActivity(intent); } }); } 当我尝试为R.id.loginButton调用findViewByID时,我得到一个NPE,我猜这是因为loginButton在一个单独的片段中,我有: public static class StartFragment extends […]