Sathishkumar G
Sathishkumar G

Reputation: 121

Activities not working properly in some devices

I have developed an application which contains a bottom navigation and some other fields. In my device the app shows all the elements(It's API 28)But in another device the bottom navigation and other fields are not showing(It's API 27).

All the other activities are working perfectly but problem comes in this activity

This device API 28 This device API 28

This device API 27 This device API 27

xml 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/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".HomeActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:ignore="MissingConstraints">


        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            app:srcCompat="@drawable/ic_home_black_24dp"
            android:layout_centerHorizontal="true"
            />
        <TextView
            android:id="@+id/message"
            android:textAlignment="center"
            android:layout_centerInParent="true"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="500dp"
            android:layout_marginEnd="196dp"
            android:layout_marginRight="196dp"
            android:layout_marginBottom="8dp"
            android:text="@string/title_home"
            />
    </RelativeLayout>


    <android.support.design.widget.BottomNavigationView
        android:id="@+id/nav_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="0dp"
        android:layout_marginEnd="0dp"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/bottom_nav_menu" />

</android.support.constraint.ConstraintLayout>

Java code:

public class HomeActivity extends AppCompatActivity {
    private TextView mTextMessage;

    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {

        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.navigation_home:

                    return true;
                case R.id.navigation_dashboard:
                    return true;
                case R.id.navigation_notifications:

                    return true;
            }
            return false;
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        BottomNavigationView navView = findViewById(R.id.nav_view);

        getCurrentFocus();

        setTitle("HOME");

        mTextMessage = findViewById(R.id.message);

        navView.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

        mTextMessage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(HomeActivity.this,VacancyUpdateActivity.class));
            }
        });
    }

}

Upvotes: 1

Views: 173

Answers (3)

Sumit Shukla
Sumit Shukla

Reputation: 4514

Try this:

<?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"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:id="@+id/rel_layout"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintBottom_toTopOf="@id/nav_view"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                app:srcCompat="@drawable/ic_home_black_24dp" />

            <TextView
                android:id="@+id/message"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:text="@string/title_home"
                android:textAlignment="center" />
        </RelativeLayout>


        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/nav_view"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="?android:attr/windowBackground"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:menu="@menu/your_menu" />

    </androidx.constraintlayout.widget.ConstraintLayout>

Upvotes: 1

Ajaya Tiwari
Ajaya Tiwari

Reputation: 125

You can use the Bottom Navigation Bar for creating that UI.

https://medium.com/@suragch/how-to-add-a-bottom-navigation-bar-in-android-958ed728ef6c

Upvotes: 0

Birju Vachhani
Birju Vachhani

Reputation: 6373

Try this:

<RelativeLayout
        android:layout_width="match_parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@id/nav_view"
        android:layout_height="0dp">

Upvotes: 1

Related Questions