Android: получить LinearLayout над ImageView - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу, чтобы ImageView покрывал левую половину экрана, сохраняя при этом пропорции и LinearLayout в той же позиции с той же шириной и высотой.Может кто-нибудь сказать мне, как этого добиться?

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Попробуйте этот код

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 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:orientation="horizontal"
    >
      <RelativeLayout
          android:layout_weight="1"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
          <ImageView
              android:layout_width="match_parent"
              android:layout_height="match_parent" />
          <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="match_parent"></LinearLayout>
      </RelativeLayout>
        <RelativeLayout
    android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </RelativeLayout>
    </LinearLayout>
0 голосов
/ 28 ноября 2018

Я бы начал с чего-то похожего на ваш макет:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/your_linear_layout"
        android:layout_alignParentEnd="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

    </LinearLayout>

    <ImageView
        android:id="@+id/your_image_view"
        android:layout_alignParentEnd="true"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:src="image"/>

</RelativeLayout>

Затем в вашем упражнении или фрагменте вам придется программно установить высоту и ширину LinearLayout в соответствии с ImageView.

ImageView iv = findViewById(R.id.your_image_view);
int ivHeight = iv.getHeight();
int ivWidth = iv.getWidth(); 

LinearLayout ll = findViewById(R.id.your_linear_layout);
LayoutParams llParams = ll.getLayoutParams();

llParams.height = ivHeight;
llParams.width = ivWidth

ll.setLayoutParams(llParams);

Тег «src» гарантирует сохранение пропорций изображения.Имейте в виду, что вам также придется обрабатывать изменение размера после поворота.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...