Макет отображения так неправильно - PullRequest
1 голос
/ 01 апреля 2019

Макет все будет перемещаться вниз на дисплее, как будто вид должен быть сверху, но я запускаю его на AVD, и он перемещается вниз, так что сверху есть целая пустая область Просто этот макет и любой другой макет в порядке. Я не знаю, почему это происходит. Но я думаю, причина в том, что это либо XML, либо JAVA.

(я использую макет, чтобы открыть этот макет, и он находится во фрагменте)

XML

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <ImageView
            android:id="@+id/imageView6"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:contentDescription="@string/todo"
            android:src="@drawable/layout" />
</RelativeLayout>

JAVA

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        tranView = inflater.inflate(R.layout.setting,container,false);
        LinearLayout app_layer = (LinearLayout) tranView.findViewById(R.id.layout);

        app_layer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Fragment fragment = null;
                switch (view.getId()) {
                    case R.id.layout:
                        fragment = new Page_Aboutus();
                        replaceFragment(fragment);
                        break;

                }
            }
        });
        return tranView;
    }


    public void replaceFragment(Fragment somefragment) {
        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.replace(R.id.fragment_container, somefragment);
        transaction.addToBackStack(null);
        transaction.commit();
    }

1 Ответ

2 голосов
/ 01 апреля 2019

Для RelativeLayout вы указываете, что определенный элемент должен выровняться с вершиной его родительского элемента с помощью android:layout_alignParentTop="true".

Итак, используйте:

<ImageView
    android:id="@+id/imageView6"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentTop="true"
    android:contentDescription="@string/todo"
    android:src="@drawable/layout" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...