I have read multiple posts for solutions on how to display a WebView over an ImageView. Here is what I tried last and it still doesn't work:
mPhotoWebView.setWebViewClient(new WebViewClient());
mPhotoWebView.setBackgroundColor(0x00000000);
xml:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="300dp" >
<com.example.android.views.MyImageView
android:id="#+id/photoImageView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<WebView
android:id="#+id/photoWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbarStyle="insideOverlay"
android:scrollbars="none" />
html style:
body
{
background:transparent;
background-color: rgba(10,10,10,0.5);
}
This code needs to run on 4.2.2. What I am trying to accomplish, is the webview has animation code done in html5 and the imageView is a background image that the animations need to show over.
Any ideas?
I must have missed this combination before. My final solution, that works is:
Do not set background color to webView in the code.
body
{
background:transparent;
overflow: hidden;
background-color: rgba(10,10,10,0.5);
}
xml:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="300dp" >
<com.accuweather.android.views.MyImageView
android:id="#+id/photoImageView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<WebView
android:id="#+id/photoWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#android:color/transparent"
android:layerType="software"
android:scrollbarStyle="insideOverlay"
android:scrollbars="none" />
Key here is the software layerType. I am using a fragment of which one activity handles many, so I couldn't do this in the manifest. Therefore I did so in the xml.
Related
I'm trying to add a button on top of Map Activity, in the layout.
I just want to show a button over the map layout, but I tried different layouts, Constraint, Relative... and nothing works. I also tried to put the map fragment in XML before and after the button inside a relative layout, and yet it did nothing, it shows only the map.
I resized the map and even removed the map layout, and still the map shows in full screen.
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="#+id/constrainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="#+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="270dp"
android:layout_height="336dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:context="com.parse.starter.RidersActivity" />
<Button
android:id="#+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>
You don't need to say the orientation for constraintLayout. Just make your fragment sizes android:layout_width="match_parent" and
android:layout_height="match_parent" , add button and constraint it to your fragment:
You don't need to say the orientation for constraintLayout. Just make your fragment sizes android:layout_width="match_parent" and
android:layout_height="match_parent" , add button and constraint it to your fragment:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="#+id/constrainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
It looks like this :
Just Make your Fragment height and weight attribute match_parent
Try below code:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="#+id/constrainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="#+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="#+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="160dp"
android:layout_marginBottom="652dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>
I hope its work for you
i finally found the problem, i accidentally created 2 similar activities and i was editing the wrong activity, that's why there were no errors. Thanks everybody who tried to help.
I am trying to add custom button for locate me for the maps. I came to know we need to use FloatingActionButton, so I have created as following in my layout.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:id="#+id/header">
<include
android:id="#+id/mapToolbar"
layout="#layout/toolbar" />
</RelativeLayout>
<Spinner
android:id="#+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="#array/maptype_arrays" />
<fragment
android.id="#+id/map"
android:tag="maptag"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment" />
<android.support.design.widget.FloatingActionButton
android:id="#+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:src="#drawable/locateme_icon"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" />
</LinearLayout>
But Im not getting button on the screen when run this. Is there anything to add along with this.
Thanks in advance.
I got the FloatingActionButton displayed by changing Linear layout to Frame layout.
I have this layout:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="#+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="#style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="#+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleGravity="center_vertical">
<android.support.v7.widget.Toolbar
android:id="#+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="center"
android:theme="#style/Base.ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin"
app:titleMarginStart="35dp"
/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax">
<Button
android:id="#+id/go_to_deezer_btn"
android:layout_width="135dp"
android:layout_height="36dp"
android:layout_gravity="bottom|center"
android:layout_marginBottom="52dp"
android:background="#drawable/rounded_corners_button"
android:text="#string/go_to_deezer"
android:textSize="12sp"
app:layout_anchor="#id/header"
app:layout_anchorGravity="bottom|center_horizontal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.cmd.cienradios.ui.header.EntityHeaderAlbum
android:id="#+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include
android:id="#+id/deezer_banner"
layout="#layout/deezer_banner"
android:layout_width="match_parent"
android:layout_height="70dp" />
</LinearLayout>
</FrameLayout>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="#+id/swipe_refresh_layout_generic"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:theme="#style/Theme.AppCompat.NoActionBar"
app:layout_behavior="#string/appbar_scrolling_view_behavior">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="#style/Theme.AppCompat.NoActionBar"
>
<com.cmd.cienradios.ui.TrackRecyclerView
android:id="#+id/tracks_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false" />
</android.support.v4.widget.NestedScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
</android.support.design.widget.CoordinatorLayout>
when I run the program, it collapses just fine, expected behaviour.
but there seems to be another layout added between the collapsed toolbar and my Swiperefresh layout, it's as tall as the toolbar, but empty and unreactive
Somehow the toolbar is related to this issue as the hight of this phantom layout changes when I change the height of the toolbar
the space im refering to is the one on top of the recyclerView on the bottom.
Amazingly, this was fixed by moving the toolbar below the FrameLayout, when I moved it back up to reproduce the bug, it didn't do it. So I guess the lesson is "Sometimes you just have to move your code around" I guess maybe restarting the computer or shutting down Android Studio could have done the trick as well.
Having issue while binding MvvmCross.Binding.Droid.Views.MvxSpinner with data.
Spinner dropdown showing perfectly fine with string but spinner title showing object reference only.
Spinner
<MvvmCross.Binding.Droid.Views.MvxSpinner
android:layout_width="match_parent"
android:layout_height="match_parent"
local:MvxDropDownItemTemplate="#layout/spinner_item"
android:layout_marginLeft="5dp"
android:dropDownWidth="257dp"
android:dropDownSelector="#drawable/list_item_selector"
local:MvxBind="ItemsSource Cities" />
Templete
<?xml version="1.0" encoding="utf-8"?>
<MvvmCross.Binding.Droid.Views.MvxLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#fafafa"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="32dp"
android:textSize="15sp"
android:textColor="#de000000"
android:lineSpacingExtra="5sp"
android:text="Shortness of breath"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:layout_marginLeft="24dp"
local:MvxBind="Text Name; Typeface StringToFont('Effra_Rg')" />
</MvvmCross.Binding.Droid.Views.MvxLinearLayout>
Please go through the link for snapshot
You are not providing a MvxDropDownItemTemplate:
local:MvxDropDownItemTemplate="#layout/template"
nor a MvxItemTemplate:
local:MvxItemTemplate="#layout/template"
The difference between these two are, that the Drop Down Item Template is what is show when the spinner is expanded. While the Item Template will be the first item shown when it is collapsed. You probably need to provide them both if you do not wish to use the default templates which just call ToString() on the ViewModel bound to the item.
I want to play video in listview from online server as like VINE app. And plays only one video at a time.But videoview cann't show in listview. I can view all others like text, links. But VideoView cann't show in listview row. show all without videoview. when try without listview it works fine and play video from online
my listview adapter code snippet like this:
mViewHolder.mVideoView.setVisibility(View.VISIBLE);
MediaController mComtroller = new MediaController(mContext);
mViewHolder.mVideoView.setMediaController(mComtroller);
mViewHolder.mVideoView.setVideoURI(Uri.parse("myLink"));
mViewHolder.mVideoView.start();
mViewHolder.mVideoView.requestFocus();
layout row of listview:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="100" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
android:layout_weight="80"
android:weightSum="10"
android:orientation="horizontal"
android:background="#drawable/background" >
<VideoView
android:id="#+id/vv_surface_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="visible"
android:layout_weight="5" />
<ImageView
android:id="#+id/iv_videoThumbnail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:background="#drawable/background" />
</LinearLayout>
<TextView
android:id="#+id/tv_VideoName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="10"
android:text="TextView" />
<TextView
android:id="#+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""
android:layout_weight="10" />
</LinearLayout>