Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8598823
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T01:14:55+00:00 2026-06-12T01:14:55+00:00

I am looking for some advice on a problem I have supporting multiple Android

  • 0

I am looking for some advice on a problem I have supporting multiple Android screens in my app.

I have read the article Supporting Multiple Screens. I followed the advice and created 4 /res layout folders /layout-small, /layout-normal, /layout-large and /layout-xlarge. I mostly use RelativeLayouts and all units are measured in dip.

On my various test devices, this all works fine. However, a number of users have contacted me to say that the data is running off the edge of the screen. Closer examination using the excellent Screen info app shows that the devices I have been able to test my app on have Normal HDPI, Normal XHDPI and XLarge MDPI screens but the user devices where there are problems have Large MDPI screens.

My IDE is IntelliJ Idea and this has a preview mode which lets me test the layouts against a number of different screen emulations. To emulate the Large screen, I set the Preview mode to 7 inch WSVGA (Tablet). Does that seem correct? I don’t own an actual Large screen test device.

What I don’t understand is why I am having a problem with certain devices? Surely I don’t have to create any more than the 4 layouts I have already designed? Even at 4, it becomes a real pain every time I add a screen to have to update different values for each of them.

How do other developers test different screen sizes / densities without having a range of test devices?

EDIT
I should have said – my screens consist only of buttons and textviews, no graphics to speak of.

EDIT 2
I have added screenshots. The first (actually a photograph) shows the screen layout as it appears on a user device (note Friday is not visible). The second shows the program working as it should be.

Edit 3
I have included some of the XML code used for the layout

Incorrect timetable view
Correct timetable view

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
             android:background="@drawable/paper_thin_background"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:paddingLeft="15dip"
             android:paddingTop="15dip"
    >

<TextView
        android:id="@+id/timetable_week"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="25dip"
        android:textSize="20sp"
        android:textColor="#15252D"
        android:text="@string/timetable_week"
        android:paddingTop="10dip"
        android:paddingBottom="30dip"
        />

<Spinner
        android:id="@+id/timetable_week_spinner"
        android:layout_toRightOf="@id/timetable_week"
        android:layout_height="wrap_content"
        android:prompt="@string/enterday"
        android:layout_width="140dip"
        android:entries="@array/timetable_weeks"
        android:textSize="205sp"
        android:textColor="#768766"
        />
            <TextView
                android:id="@+id/period_heading"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:textColor="#768766"
                android:text="@string/period"
                android:textSize="20sp"
                android:paddingBottom="15dip"
                android:gravity="center_horizontal"
                android:layout_below="@+id/timetable_week"
            />

            <TextView
                    android:id="@+id/monday_heading"
                    android:layout_toRightOf="@id/period_heading"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#768766"
                    android:text="@string/monday"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    android:layout_below="@+id/timetable_week"
                    />

            <TextView
                    android:id="@+id/tuesday_heading"
                    android:layout_toRightOf="@id/monday_heading"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#768766"
                    android:text="@string/tuesday"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    android:layout_below="@+id/timetable_week"
                    />
            <TextView
                    android:id="@+id/wednesday_heading"
                    android:layout_toRightOf="@id/tuesday_heading"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#768766"
                    android:text="@string/wednesday"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    android:layout_below="@+id/timetable_week"
                    />
            <TextView
                    android:id="@+id/thursday_heading"
                    android:layout_toRightOf="@id/wednesday_heading"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#768766"
                    android:text="@string/thursday"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    android:layout_below="@+id/timetable_week"
                    />
            <TextView
                    android:id="@+id/friday_heading"
                    android:layout_toRightOf="@id/thursday_heading"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#768766"
                    android:text="@string/friday"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    android:layout_below="@+id/timetable_week"
                    />

    <!-- PERIOD 1-->

            <TextView
                    android:id="@+id/p1_heading"
                    android:layout_below="@id/period_heading"
                    android:layout_width="120dp"
                    android:layout_height="wrap_content"
                    android:textColor="#768766"
                    android:text="@string/p1"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    />

            <TextView
                    android:id="@+id/monp1"
                    android:layout_below="@id/period_heading"
                    android:layout_toRightOf="@id/period_heading"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#15252D"
                    android:text="@string/blank"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    />

            <TextView
                    android:id="@+id/tuep1"
                    android:layout_below="@id/period_heading"
                    android:layout_toRightOf="@id/monp1"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#15252D"
                    android:text="@string/blank"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    />

            <TextView
                    android:id="@+id/wedp1"
                    android:layout_below="@id/period_heading"
                    android:layout_toRightOf="@id/tuep1"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#15252D"
                    android:text="@string/blank"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    />

            <TextView
                    android:id="@+id/thup1"
                    android:layout_below="@id/period_heading"
                    android:layout_toRightOf="@id/wedp1"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#15252D"
                    android:text="@string/blank"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    />

            <TextView
                    android:id="@+id/frip1"
                    android:layout_below="@id/period_heading"
                    android:layout_toRightOf="@id/thup1"
                    android:layout_width="170dp"
                    android:layout_height="wrap_content"
                    android:textColor="#15252D"
                    android:text="@string/blank"
                    android:textSize="20sp"
                    android:paddingBottom="15dip"
                    android:gravity="center_horizontal"
                    />
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T01:14:56+00:00Added an answer on June 12, 2026 at 1:14 am

    I have realised that the problems I have been experiencing relate to my use of relative layouts combined with DIP measurements. It’s just not possible to support the vast range of devices in this way.

    Instead, I have gone back and redesigned every screen in my app using android:weightSum and android:layout_weight.

    This, in theory, should make my app far more adaptive to different screen sizes.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Problem Hey folks. I'm looking for some advice on python performance. Some background on
Being a self-confessed newbie I'm looking for some advice and guidance :) I have
I have some flexibility here so I'm looking for some advice before I lock
I'm looking for some advice on how to do this. I want to have
just looking for some advice, pointers, and suggestions for further reading. I have: 1
I am encountering a small problem and I was just looking for some advice
Looking for some practical advice here and any experiences people have had in a
I have an interesting problem which I've been looking into and would appreciate some
I'm looking for some advice. I have been given a paper form with various
Looking for some advice on the best way to implement localization along with client

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.