In Android(安卓)how to display one view as overlay on top of another view?
I have 2 views that takes the whole screen and I want to display both views at the same time. My layout looks like this:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <org.example.myCustomView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
Note that myCustomView uses onDraw ( this method last statement is invalidate()) to draw custom graphics. The problem I am getting that it only display myCustome view and webView is hidden. I tried to change the background color of mycustomView to transparent but this makes no difference.I would also the abilty to make mycustomeView as overlay on webView or vice versa.
answer one:
Use a RelativeLayout
for starters.
You could use the ViewGroup.addView(View child, int index, ViewGroup.LayoutParams params)
or a variant along with ViewGroup.removeView(View view)
or ViewGroup.removeViewAt(int index)
.
This would obviously require you to inflate the views manually using LayoutInflater
but you could keep a global reference to each after inflating and just flip between the two.
answer two:
I'm not sure if you can do this when they are in the same xml file, but I know that if you move:
<org.example.myCustomView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
to another xml file, and create another activity. set the content view to the xml file that contains the org.example.myCustomView and call that activity. in the manifest, when you add that activity, add a theme statement as so:
android:theme="@android:style/Theme.Dialog"
the full statement should look like this:
<activity android:name=".name_of_activity"
android:label="TextToBeOnTop"
android:theme="@android:style/Theme.Dialog">
</activity>
the result will look like this (only it will be with your components instead):
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer