【问题标题】:How to keep the aspect ratio when changing device?更换设备时如何保持纵横比?
【发布时间】:2014-12-11 13:27:54
【问题描述】:

我需要使用dp 管理我的布局,而不是使用match_parentwrap_content

这是我的 XML 代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:columnCount="1"
  android:orientation="vertical"
  android:paddingBottom="0dp"
  android:paddingLeft="0dp"
  android:paddingRight="0dp"
  android:paddingTop="0dp"
  android:background="@drawable/backprova"
  android:adjustViewBounds="true"
  tools:context="com.example.settingavatar.MyAvatar" >

   <!-- layer per categoria A -->

  <LinearLayout
    android:id="@+id/llyA"
    android:layout_width="34dp"
    android:layout_height="34dp"

    android:layout_column="0"
    android:layout_marginLeft="110dp"
    android:layout_marginTop="126dp"
    android:layout_gravity="center_horizontal|top"
    android:layout_row="0"

    android:orientation="vertical"
    android:visibility="visible"
    android:background="@drawable/cata1" >
  </LinearLayout>

  <!--anteprima dell'avatar -->

  <ImageView
    android:id="@+id/anteprimaAvatar"
    android:layout_width="145dp"
    android:layout_height="352dp"
    android:layout_weight="1"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="43dp"
    android:layout_marginLeft="0dp"
    android:src="@drawable/avatar"
    android:adjustViewBounds="true" />

   <!-- other things -->

</RelativeLayout>

当我更换设备时,LinearLayoutImageView 不保持与背景图像的比例(只有它们之间的纵横比)。

我认为问题在于高度和宽度布局。 我有每个drawable_dpi的背景图像文件,但头像和cata1图像仅用于hdpi,这可能是问题吗?

【问题讨论】:

    标签: layout aspect-ratio


    【解决方案1】:

    如果你只想通过dp来管理布局,尝试使用绝对布局,因为使用相对布局的基础是避免在dp基础上维护所有视图..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-25
      • 2018-04-02
      • 2018-03-11
      • 1970-01-01
      • 2017-11-13
      • 2010-12-17
      • 2015-01-29
      相关资源
      最近更新 更多