Elements are not showing in the design editor android studio.
I have added image views in the layout editor but it is showing up in the editor. I have also tried to change theme types but still it's not working. I have also tryed changing the layout type.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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"
tools:context=".MainActivity"
android:id="#+id/relativeLayout">
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#drawable/board"
android:columnCount="3"
android:rowCount="3"
tools:targetApi="ice_cream_sandwich"
tools:layout_conversion_absoluteHeight="0dp"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="0dp"
tools:layout_conversion_absoluteWidth="0dp">
<ImageView
android:id="#+id/imageView8"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentBottom="true"
android:layout_column="0"
android:layout_marginLeft="27dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:contentDescription="TODO"
android:src="#drawable/red" />
<ImageView
android:id="#+id/imageView7"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentBottom="true"
android:layout_column="2"
android:layout_marginLeft="35dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:contentDescription="TODO"
android:src="#drawable/red" />
<ImageView
android:id="#+id/imageView6"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentBottom="true"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:layout_row="1"
android:contentDescription="TODO"
android:src="#drawable/red" />
<ImageView
android:id="#+id/imageView5"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentBottom="true"
android:layout_column="1"
android:layout_marginLeft="27dp"
android:layout_row="1"
android:contentDescription="TODO"
android:src="#drawable/red" />
<ImageView
android:id="#+id/imageView4"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentBottom="true"
android:layout_column="2"
android:layout_marginLeft="35dp"
android:layout_row="1"
android:contentDescription="TODO"
android:src="#drawable/red" />
<ImageView
android:id="#+id/imageView3"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:layout_row="3"
android:contentDescription="TODO"
android:src="#drawable/red" />
<ImageView
android:id="#+id/imageView2"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="1"
android:layout_marginLeft="27dp"
android:layout_row="2"
android:contentDescription="TODO"
android:src="#drawable/red"
android:layout_marginStart="27dp" />
<ImageView
android:id="#+id/imageView"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_margin="10dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:contentDescription="TODO"
android:src="#drawable/red" />
<ImageView
android:id="#+id/imageView9"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentBottom="true"
android:layout_column="2"
android:layout_marginLeft="35dp"
android:layout_row="2"
android:contentDescription="TODO"
android:src="#drawable/red" />
</GridLayout>
</RelativeLayout>
Go to the project view on the left side of android studio.
Then select app-> res-> values-> styles :
Inside the styles.xml file you'll find something like this :
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Change it to :
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
Simply add "Base." before Theme and the design view should work just fine.
Related
I have this scenario in an android page:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="#drawable/border">
<RelativeLayout
android:id="#+id/lbltvFirstContainer"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="90" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="#+id/lbltvFirstText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:visibility="visible"
android:layout_gravity="left"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:id="#+id/tvSecondText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvFirstText"
android:textColor="#color/green"
android:textSize="19dp"
android:textStyle="bold" />
<com.google.android.flexbox.FlexboxLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:flexDirection="row"
app:justifyContent="flex_end"
app:flexWrap="wrap"
app:layout_flexBasisPercent="50%"
app:alignItems="flex_start"
app:alignContent="flex_start"
app:showDividerVertical="middle"
app:dividerDrawable="#drawable/divider_flexbox">
<com.google.android.material.button.MaterialButton
android:id="#+id/btnButton"
android:background="#android:color/transparent"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginTop="-5dp"
app:icon="#drawable/btnButton"
app:iconTint="#null" />
<ImageView
android:id="#+id/first_icon"
android:src="#drawable/grey_24dp"
android:background="#android:color/transparent"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_weight="0.5"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:layout_alignParentRight="true"/>
</com.google.android.flexbox.FlexboxLayout>
</RelativeLayout>
<RelativeLayout
android:id="#+id/elements_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lblThirdImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="#drawable/icon_image"
android:layout_marginLeft="4dp"
android:layout_gravity="start" />
<TextView
android:id="#+id/tvThirdText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:layout_toRightOf="#+id/lblThirdImage"
android:gravity="start"
android:textSize="18dp" />
</RelativeLayout>
<com.google.android.flexbox.FlexboxLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:flexWrap="wrap"
app:alignItems="stretch"
app:alignContent="stretch"
app:showDividerVertical="middle"
app:dividerDrawable="#drawable/divider" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lblFourImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="#drawable/four_image"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start" />
<TextView
android:id="#+id/tvFourText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvFourImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lbltvFiveImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start"
android:src="#drawable/five_image" />
<TextView
android:id="#+id/tvFiveText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvFiveImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lbltvSixImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start"
android:src="#drawable/six_image" />
<TextView
android:id="#+id/tvSixText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvSixImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lbltvSevenImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="#drawable/seven_image"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start" />
<TextView
android:id="#+id/tvSevenImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvSevenImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/tvEightImage"
android:src="#drawable/eigth_image"
android:background="#android:color/transparent"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginRight="4dp"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/tvNineImage"
android:src="#drawable/nine_image"
android:background="#android:color/transparent"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"/>
<com.google.android.material.button.MaterialButton
android:id="#+id/lblTenImage"
android:background="#android:color/transparent"
android:layout_width="42dp"
android:layout_height="42dp"
app:icon="#drawable/ten_image"
app:iconTint="#null" />
</LinearLayout>
</com.google.android.flexbox.FlexboxLayout>
</RelativeLayout>
<RelativeLayout
android:id="#+id/lbltvSecondContainer"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="10">
</RelativeLayout>
</LinearLayout>
And I am trying to have two containers side by side, lbltvFirstContainer and lbltvSecondContainer, where I would set width by percentage so in the second container I can put just a ">" like a button to go to another page so after searching I found somewhere to use those app:layout_constraintWidth_default="percent" and app:layout_constraintWidth_percent="10" but looks like that doesn't work.... do you have a direction to make those two main containers with percentage width? Thanks in advance!
Cheers
Edit:
after #Cheticamp 's suggest I changed as :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="#drawable/border">
<androidx.constraintlayout.widget.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:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="#+id/left_guideline"
app:layout_constraintGuide_percent=".80"
android:orientation="horizontal" />
<RelativeLayout
android:id="#+id/left_container"
android:layout_width="0dp"
android:layout_height="match_parent"
app:layout_constraintEnd_toStartOf="#+id/left_guideline"
app:layout_constraintStart_toStartOf="parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="#+id/lbltvFirstText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:visibility="visible"
android:layout_gravity="left"
android:textSize="19dp"
android:textStyle="bold"
android:text="Matricola:" />
<TextView
android:id="#+id/tvSecondText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvFirstText"
android:textColor="#color/area_frg"
android:textSize="19dp"
android:textStyle="bold" />
<com.google.android.flexbox.FlexboxLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:flexDirection="row"
app:justifyContent="flex_end"
app:flexWrap="wrap"
app:layout_flexBasisPercent="50%"
app:alignItems="flex_start"
app:alignContent="flex_start"
app:showDividerVertical="middle"
app:dividerDrawable="#drawable/divider_flexbox">
<com.google.android.material.button.MaterialButton
android:id="#+id/btnButton"
android:background="#android:color/transparent"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginTop="-5dp"
app:icon="#drawable/btnButton"
app:iconTint="#null" />
<ImageView
android:id="#+id/first_icon"
android:src="#drawable/grey_24dp"
android:background="#android:color/transparent"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_weight="0.5"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:layout_alignParentRight="true"/>
</com.google.android.flexbox.FlexboxLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lblThirdImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="#drawable/wifi"
android:layout_marginLeft="4dp"
android:layout_gravity="start" />
<TextView
android:id="#+id/tvThirdText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:layout_toRightOf="#+id/lblThirdImage"
android:gravity="start"
android:textSize="18dp" />
</RelativeLayout>
<com.google.android.flexbox.FlexboxLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:flexWrap="wrap"
app:alignItems="stretch"
app:alignContent="stretch"
app:showDividerVertical="middle"
app:dividerDrawable="#drawable/divider" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lblFourImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="#drawable/thermo"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start" />
<TextView
android:id="#+id/tvFourText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lblFourImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lbltvFiveImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start"
android:src="#drawable/full_batt" />
<TextView
android:id="#+id/tvFiveText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvFiveImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lbltvSixImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start"
android:src="#drawable/power" />
<TextView
android:id="#+id/tvSixText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvSixImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/lbltvSevenImage"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="#drawable/gsm"
android:visibility="visible"
android:layout_marginLeft="4dp"
android:layout_gravity="start" />
<TextView
android:id="#+id/tvSevenText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:padding="4dp"
android:visibility="visible"
android:layout_toRightOf="#+id/lbltvSevenImage"
android:gravity="start"
android:textSize="18dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/tvEightImage"
android:src="#drawable/eight_image"
android:background="#android:color/transparent"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginRight="4dp"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="#+id/tvNineImage"
android:src="#drawable/nine_image"
android:background="#android:color/transparent"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"/>
<com.google.android.material.button.MaterialButton
android:id="#+id/lblTenImage"
android:background="#android:color/transparent"
android:layout_width="42dp"
android:layout_height="42dp"
app:icon="#drawable/play"
app:iconTint="#null" />
</LinearLayout>
</com.google.android.flexbox.FlexboxLayout>
</RelativeLayout>
<androidx.constraintlayout.widget.Guideline
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="#+id/right_guideline"
app:layout_constraintGuide_percent=".20"
android:orientation="horizontal" />
<RelativeLayout
android:id="#+id/right_container"
android:layout_width="0dp"
android:layout_height="match_parent"
app:layout_constraintEnd_toStartOf="#+id/right_guideline"
app:layout_constraintStart_toStartOf="parent">
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
using those ConstraintLayout but seems it keeps returning this error:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mytestapp, PID: 32175
java.lang.AssertionError: LEFT
at androidx.constraintlayout.solver.widgets.Guideline.getAnchor(Guideline.java:147)
at androidx.constraintlayout.solver.widgets.ConstraintWidget.immediateConnect(ConstraintWidget.java:1620)
at androidx.constraintlayout.widget.ConstraintLayout.applyConstraintsFromLayoutParams(ConstraintLayout.java:1359)
at androidx.constraintlayout.widget.ConstraintLayout.setChildrenConstraints(ConstraintLayout.java:1253)
at androidx.constraintlayout.widget.ConstraintLayout.updateHierarchy(ConstraintLayout.java:1149)
at androidx.constraintlayout.widget.ConstraintLayout.onMeasure(ConstraintLayout.java:1685)
at android.view.View.measure(View.java:25532)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:25532)
at android.widget.ListView.measureScrapChild(ListView.java:1350)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1419)
at android.widget.ListView.onMeasure(ListView.java:1323)
at android.view.View.measure(View.java:25532)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:25532)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6957)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:25532)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:9384)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1653)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java:527)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:148)
at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:2003)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
E/AndroidRuntime: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:831)
at android.view.View.layout(View.java:22900)
at android.view.ViewGroup.layout(ViewGroup.java:6389)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3619)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3087)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2060)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8430)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972)
at android.view.Choreographer.doCallbacks(Choreographer.java:796)
at android.view.Choreographer.doFrame(Choreographer.java:731)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:250)
at android.app.ActivityThread.main(ActivityThread.java:7886)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:970)
so I re-checked what I typed in XML and seems it looks ok but maybe shall I have forgot or mistaken something ?
Thanks!
Cheers!
Edit 2 :
Hello #Cheticamp , following your suggest I started from scratch to create a ConstraintLayout with two guidelines dimensioned by percent as follow:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:id="#+id/test_left_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.50" />
<androidx.constraintlayout.widget.Guideline
android:id="#+id/test_right_guideline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.20"
app:layout_constraintLeft_toEndOf="#id/test_left_guideline" />
</androidx.constraintlayout.widget.ConstraintLayout>
so it's supposed to see in Design those two guidelines side by side since I put app:layout_constraintLeft_toEndOf="#id/test_left_guideline" so after I could put two RelativeLayouts as containers following those guidelines but it looks like both guidelines starts from the left side of the parent window... which attribute I should set to make those two guidelines side by side? Thanks in advance! Cheers
The following is a GridLayout containing elements with zero margins:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="400dp"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal">
<ImageView
android:layout_row="0"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="0"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
</GridLayout>
The following is the GridLayout containing its elements with negative margins:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="400dp"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal">
<ImageView
android:layout_row="0"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="0"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="#drawable/android"
android:scaleType="centerCrop"/>
</GridLayout>
Is there a way to prevent the overlapping? In other words, each grid cell shows a zoomed-in and cropped element.
I use ImageView for this example. The elements could be any other types such as SurfaceView.
Embed each of your ImageView in a LinearLayout and add scale to your ImageView for zoom.
Pls try below code
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="400dp"
android:columnCount="2"
android:orientation="horizontal"
android:rowCount="2">
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="0"
android:layout_column="0">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="#drawable/android" />
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="0"
android:layout_column="1">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="#drawable/android" />
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="1"
android:layout_column="0">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="#drawable/android" />
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="1"
android:layout_column="1">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="#drawable/android" />
</LinearLayout>
</GridLayout>
Hope this will help!!!
Android Studio running code on phone auto turns off.
I am trying to build a translator application.
I think there is something wrong in my layout design but I cant figure out what.
I divided my homepage into two parts.
This is my activity_home layout.
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteY="81dp"
tools:layout_editor_absoluteX="0dp"
android:background="#drawable/bwall1"
android:fitsSystemWindows="true"
tools:context="nf.co.hoptec.ocr.Home">
<ImageButton
android:id="#+id/fab"
android:layout_width="100dp"
android:layout_height="0dp"
android:adjustViewBounds="true"
android:background="#drawable/roundcorner"
android:cropToPadding="false"
android:scaleType="fitCenter"
app:layout_constraintHorizontal_bias="0.19"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:srcCompat="#drawable/cameraicon"
tools:layout_constraintTop_creator="1"
tools:layout_constraintBottom_creator="1"
app:layout_constraintBottom_toBottomOf="#+id/fab2"
app:layout_constraintTop_toTopOf="#+id/fab2" tools:targetApi="lollipop"/>
<ImageButton
android:id="#+id/fab2"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:background="#drawable/roundcorner"
android:padding="10dp"
android:scaleType="fitCenter"
android:src="#drawable/imageicon"
tools:layout_constraintRight_creator="1"
tools:layout_constraintBottom_creator="1"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginEnd="72dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginBottom="47dp" tools:targetApi="lollipop"/>
<include
layout="#layout/content_home"
android:layout_width="0dp"
android:layout_height="400dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:layout_constraintBottom_creator="1"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintTop_creator="1" />
</android.support.constraint.ConstraintLayout>
This is my content_home layout
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView 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:layout_marginTop="0dp"
app:layout_behavior="#string/appbar_scrolling_view_behavior"
tools:context="nf.co.hoptec.ocr.Home"
tools:showIn="#layout/activity_home">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:orientation="vertical"
android:visibility="visible">
<LinearLayout
android:background="#drawable/border"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:orientation="vertical"
android:visibility="visible"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:orientation="horizontal"
android:weightSum="1">
<Button
android:id="#+id/source"
android:layout_width="135dp"
android:layout_height="15dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_margin="1dp"
android:background="#F7F9FC"
android:text=":: Source Language ::"
android:textColor="#000000"
android:textSize="12sp" />
<ImageButton
android:id="#+id/proceedbutt"
android:layout_width="20dip"
android:layout_height="20dip"
android:background="#00ffffff"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:scaleType="centerCrop"
app:srcCompat="#drawable/proceed"
android:layout_alignParentEnd="true" />
<ImageButton
android:id="#+id/speakerbutt"
android:layout_width="20dip"
android:layout_height="20dip"
android:background="#00ffffff"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:scaleType="centerCrop"
app:srcCompat="#drawable/speaker"
android:layout_marginRight="5dp"
android:layout_toLeftOf="#+id/proceedbutt"/>
<ImageButton
android:id="#+id/copy"
android:layout_width="20dip"
android:layout_height="20dip"
android:background="#00ffffff"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:scaleType="centerCrop"
app:srcCompat="#drawable/copy"
android:layout_marginRight="5dp"
android:layout_toLeftOf="#+id/speakerbutt" />
</RelativeLayout>
<EditText
android:id="#+id/ocrtext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30.0dp"
android:layout_marginRight="30.0dp"
android:layout_marginTop="15dp"
android:ems="10"
android:inputType="textMultiLine"
android:selectAllOnFocus="true"
android:singleLine="true"
android:text="Type here to translate"
android:textSize="12sp"
android:layout_marginBottom="15dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="visible"
android:paddingTop="10dp">
<ImageView
android:background="#color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:id="#+id/ocrimg" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="#drawable/border"
android:orientation="vertical"
android:visibility="visible">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:orientation="horizontal"
android:weightSum="1">
<Button
android:id="#+id/target"
android:layout_width="135dp"
android:layout_height="15dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_margin="1dp"
android:background="#F7F9FC"
android:text=":: Result Language ::"
android:textColor="#000000"
android:textSize="12sp" />
<ImageButton
android:id="#+id/nth"
android:layout_width="20dip"
android:layout_height="20dip"
android:layout_alignParentEnd="true"
android:background="#00ffffff"
app:srcCompat="#drawable/xparent" />
<ImageButton
android:id="#+id/speakerbutt1"
android:layout_width="20dip"
android:layout_height="20dip"
android:layout_marginRight="5dp"
android:layout_toLeftOf="#+id/nth"
android:adjustViewBounds="true"
android:background="#00ffffff"
android:cropToPadding="false"
android:scaleType="centerCrop"
app:srcCompat="#drawable/speaker" />
<ImageButton
android:id="#+id/copyt"
android:layout_width="20dip"
android:layout_height="20dip"
android:layout_marginRight="5dp"
android:layout_toLeftOf="#+id/speakerbutt1"
android:adjustViewBounds="true"
android:background="#00ffffff"
android:cropToPadding="false"
android:scaleType="centerCrop"
app:srcCompat="#drawable/copy" />
</RelativeLayout>
<TextView
android:id="#+id/ocrtextt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:layout_marginLeft="30.0dp"
android:layout_marginRight="30.0dp"
android:layout_marginTop="15dp"
android:background="?attr/editTextBackground"
android:ems="10"
android:inputType="textMultiLine"
android:text=""
android:textSize="10sp" />
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
Can you tell me what is wrong?
I think its because of constraint layout.Constraint layout is new layout of Android in which you can just drag and drop buttons,textview and all but it may looks perfect in preview but not in your phone because every device have different size of display screen so constraint layout will work different in different android phones and you may also be getting warning or error in that layout file.So try to use LinearLayout or RelativeLayout and then errors will not come.
I am facing some problem in designing one screen in which vertical page scrolling, horizontal page scrolling and tab box textview horizontal scrolling work(if textView bigger than box).
I have attach a required image. please give me some idea, so that i can design this screen.
See required design:
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="#+id/horizontalScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:id="#+id/scrollView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="#+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="0"
android:padding="5dp"
android:text="Sr. no"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="#+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="0"
android:padding="5dp"
android:text="Name owner address"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="#+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_row="0"
android:padding="5dp"
android:text="Sizes"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="#+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="4"
android:layout_row="0"
android:padding="5dp"
android:text="BHkk"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="#+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="5"
android:layout_row="0"
android:padding="5dp"
android:text="Call et.c."
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="#+id/textView6"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="2"
android:text="1" />
<TextView
android:id="#+id/textView7"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="2"
android:text="#string/dummyText" />
<TextView
android:id="#+id/textView8"
android:layout_width="39dp"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_row="2"
android:text="New Text" />
<TextView
android:id="#+id/textView9"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_column="4"
android:layout_row="2"
android:text="10dp" />
<TextView
android:id="#+id/textView10"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_column="5"
android:layout_row="2"
android:text="New Text" />
</GridLayout>
</ScrollView>
</HorizontalScrollView>
I created icons and buttons for my app and put them in my Android Studio project.
In the Emulator it looks like this:
But on my phone it looks like this:
What can I do or how can I scale the icons for every resolution perfectly?
Thanks for every answer.
Layout xml file:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:layout_width="1052dp"
android:layout_height="wrap_content"
android:id="#+id/imageView"
android:layout_x="-321dp"
android:layout_y="137dp"
android:background="#drawable/barline"/>
<ImageButton
android:layout_width="150dp"
android:layout_height="90dp"
android:id="#+id/imageButton"
android:layout_x="-10dp"
android:layout_y="478dp"
android:background="#drawable/bewertung"
android:contentDescription="" />
<ImageButton
android:layout_width="150dp"
android:layout_height="90dp"
android:id="#+id/imageButton2"
android:layout_x="270dp"
android:layout_y="477dp"
android:background="#drawable/bekanntheit"
android:contentDescription="" />
<ImageButton
android:layout_width="150dp"
android:layout_height="90dp"
android:id="#+id/imageButton3"
android:layout_x="172dp"
android:layout_y="477dp"
android:background="#drawable/crew"
android:contentDescription="" />
<ImageButton
android:layout_width="150dp"
android:layout_height="90dp"
android:id="#+id/imageButton4"
android:layout_x="85dp"
android:layout_y="477dp"
android:background="#drawable/einkaufswagen"
android:contentDescription="" />
Use a LinearLayout with orientation set to horizontal, then define layout_weight for each view you have:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="horizontal"
android:gravity="center"
android:background="#drawable/barline">
<ImageButton
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:id="#+id/imageButton"
android:background="#drawable/bewertung"
android:contentDescription="" />
<ImageButton
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:id="#+id/imageButton2"
android:background="#drawable/bekanntheit"
android:contentDescription="" />
<ImageButton
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:id="#+id/imageButton3"
android:background="#drawable/crew"
android:contentDescription="" />
<ImageButton
android:layout_width="0dp"
android:layout_height="60dp"
android:layout_weight="1"
android:id="#+id/imageButton4"
android:background="#drawable/einkaufswagen"
android:contentDescription="" />
</LinearLayout>