Articles of framelayout

如何让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() 。 谁能给我一个如何在动态壁纸中使用常规布局的简短示例?

android – 重叠图像(扑克牌)

我试图让我的游戏中的扑克牌重叠,这样只能看到一张牌的前半部分而另一半被下一张扑克牌所覆盖。 应该完全可见的唯一卡将是最后/最右边的卡。 我使用以下代码同时使用framelayout和relativelayout无济于事。 谁能提供一些建议? public int shouldShow(int numberOfCards, int card, int id) { if(card == -1) hide(id); else { findViewById(id).setBackgroundDrawable(deckimages[card]); //findViewById(id).offsetLeftAndRight(findViewById(id).getWidth()* numberOfCards / 2); show(id); //findViewById(id).setPadding(findViewById(id).getWidth()* numberOfCards / 2, 0,0,0); return numberOfCards+1; } return numberOfCards; } 我尝试使用填充和偏移方法,这两种方法都不适合我。 但我也注意到getwidth()和getmeasuredwidth()方法返回0。 我应该使用哪种布局以及为什么getwidthfunction不起作用的任何建议? xml代码在下面…会有比这更多的图像但这是我正在测试的

在尝试更改布局xml中的视图顺序时,FrameLayout中的类强制转换exception?

这是我的布局文件 这很有效。 但是当我必须改变元素的顺序时。 我会得到ClassCastException 。 这是我的logcat跟踪。 12-24 18:33:58.131:E / AndroidRuntime(2089):FATAL EXCEPTION:main 12-24 18:33:58.131:E / AndroidRuntime(2089):java.lang.RuntimeException:无法启动活动ComponentInfo {com。 zoho.showmote / com.zoho.showmote.android.activity.ShowDocuments}:java.lang.ClassCastException:android.widget.Button无法强制转换为android.widget.ProgressBar 12-24 18:33:58.131:E / AndroidRuntime( 2089):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)12-24 18:33:58.131:E / AndroidRuntime(2089):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)12 -24 18:33:58.131:E / AndroidRuntime(2089):在android.app.ActivityThread.access $ 600(ActivityThread.java:123)12-24 18:33:58.131:E / AndroidRuntime(2089):在android。 app.ActivityThread $ H.handleMessage(ActivityThread.java:1147)12-24 18:33:58.131:E / AndroidRuntime(2089):at android.os.Handler.dispatchMessage(Handler.java:99)12-24 18: 33:58.131:E / AndroidRuntime(2089):在android.os.Looper.loop(Looper.java:137)12 -24 18:33:58.131:E / AndroidRuntime(2089):在android.app.ActivityThread.main(ActivityThread.java:4424)12-24 18:33:58.131:E / AndroidRuntime(2089):at […]

Android XML FrameLayout和BottomNavigationView

如何使FrameLayout以BottomNavigationView的开头结束? FrameLayout的内容与导航视图重叠。 这是xml:

检查片段是否在framelayout中呈现或不在android中?

嗨朋友我在movies.xml中有两个framelayout,即container , detail_screen 。容器中将添加包含listview的movies.xml,在detail_screen中将有可扩展的listview,名为movie_details.xml 。现在想以编程方式检查detail_screen已经是片段呈现或者not.if呈现只是想删除该片段。我通过follwing和它的工作正常。 if (getSupportFragmentManager().findFragmentByTag(“MyFragment”) != null) { getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentByTag(“MyFragment”)).commit(); } 但有没有其他方法可以通过编程方式find片段是否在android中的帧布局中呈现。提前谢谢

FrameLayout的目的是什么?我们应该在哪种情况下使用它?

FrameLayout在Android中的用途是什么? 是否有针对其设计的特定方案? 在我的Android应用程序中,我有一个场景,我必须显示两个ImageView ,一个在另一个。 这是一个.png图像文件,在此图像上有一个9-patch drawable。 我应该将ViewGroup用于此目的: RelativeLayout还是FrameLayout ? 我还想知道应该使用每个ViewGroup的不同场景。