【问题标题】:Aligning layout to fit all screen size对齐布局以适应所有屏幕尺寸
【发布时间】:2015-06-18 10:46:56
【问题描述】:

这是我的线性布局,我已经实现了以下..我想消耗整个页面高度。所以我正在考虑布局的重量。但是图像被拉伸了

但是图片被拉长了..我想用原来的 图片的宽度..我需要做些什么改变??

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/mdfooter"
        android:layout_below="@+id/mdtlone"
        android:background="@color/white"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/one"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/breakfastview"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/mealbreakfast"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />

            <TextView
                android:id="@+id/tvrequiredbreakfast"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />

            <TextView
                android:id="@+id/breakfastactual"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:background="@drawable/newbuttonshape"
                android:clickable="true"
                android:gravity="center"
                android:onClick="gotoCalorieMealsDiaryActivity"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/two"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/lunchview"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/meallunch"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />

            <TextView
                android:id="@+id/tvrequiredlunch"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />

            <TextView
                android:id="@+id/lunchactual"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:background="@drawable/newbuttonshape"
                android:clickable="true"
                android:gravity="center"
                android:onClick="gotoCalorieMealsDiaryActivity"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/three"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/dinnerview"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/mealdinner"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />

            <TextView
                android:id="@+id/tvrequireddinner"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />

            <TextView
                android:id="@+id/dinneractual"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:background="@drawable/newbuttonshape"
                android:clickable="true"
                android:gravity="center"
                android:onClick="gotoCalorieMealsDiaryActivity"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/four"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/snackview"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/mealsnacks"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />

            <TextView
                android:id="@+id/tvrequiredsnacks"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />

            <TextView
                android:id="@+id/snacksactual"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:background="@drawable/newbuttonshape"
                android:clickable="true"
                android:gravity="center"
                android:onClick="gotoCalorieMealsDiaryActivity"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textStyle="normal" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/five"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#E8E8E8" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:text="Total"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#4CC1D2"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/calorieoutput"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/totalout"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/newbuttonshape"
                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textStyle="bold" />
        </LinearLayout>
    </LinearLayout>

请提出任何建议

【问题讨论】:

  • 检查ScaleType
  • 我朋友试过了..
  • 不要给你的图像视图权重而不是给 wrapcontent
  • ImageView 替换为LinearLayoutweight = 1 和height, widthmatch_parent。将您的ImageView 放在LinearLayout 中,并将其heightweight 设为wrap_content

标签: java android xml android-layout


【解决方案1】:

将背景更改为 src "android:src="@drawable/mealbreakfast""

               <ImageView
                android:id="@+id/breakfastview"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/mealbreakfast"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />

【讨论】:

    【解决方案2】:

    按照以下设计,您将能够解决您的问题。

    我在这里只更改了一个 ImageView,您将在其他 ImageView 中执行相同操作。

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/mdfooter"
    android:layout_below="@+id/mdtlone"
    android:background="@color/white"
    android:orientation="vertical" >
    
    <LinearLayout
        android:id="@+id/one"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
    
            <ImageView
                android:id="@+id/breakfastview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/mealbreakfast"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />
        </LinearLayout>
    
        <TextView
            android:id="@+id/tvrequiredbreakfast"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    
        <TextView
            android:id="@+id/breakfastactual"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/newbuttonshape"
            android:clickable="true"
            android:gravity="center"
            android:onClick="gotoCalorieMealsDiaryActivity"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/two"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    
        <ImageView
            android:id="@+id/lunchview"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/meallunch"
            android:clickable="true"
            android:onClick="onClick"
            android:scaleType="center" />
    
        <TextView
            android:id="@+id/tvrequiredlunch"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    
        <TextView
            android:id="@+id/lunchactual"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/newbuttonshape"
            android:clickable="true"
            android:gravity="center"
            android:onClick="gotoCalorieMealsDiaryActivity"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/three"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    
        <ImageView
            android:id="@+id/dinnerview"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/mealdinner"
            android:clickable="true"
            android:onClick="onClick"
            android:scaleType="center" />
    
        <TextView
            android:id="@+id/tvrequireddinner"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    
        <TextView
            android:id="@+id/dinneractual"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/newbuttonshape"
            android:clickable="true"
            android:gravity="center"
            android:onClick="gotoCalorieMealsDiaryActivity"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/four"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    
        <ImageView
            android:id="@+id/snackview"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/mealsnacks"
            android:clickable="true"
            android:onClick="onClick"
            android:scaleType="center" />
    
        <TextView
            android:id="@+id/tvrequiredsnacks"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    
        <TextView
            android:id="@+id/snacksactual"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/newbuttonshape"
            android:clickable="true"
            android:gravity="center"
            android:onClick="gotoCalorieMealsDiaryActivity"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="normal" />
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/five"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#E8E8E8" >
    
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Total"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#4CC1D2"
            android:textStyle="bold" />
    
        <TextView
            android:id="@+id/calorieoutput"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textStyle="bold" />
    
        <TextView
            android:id="@+id/totalout"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/newbuttonshape"
            android:gravity="center"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textStyle="bold" />
    </LinearLayout>
    

    这里你的 ImageView 被拉伸了,所以我替换了

     <ImageView
                android:id="@+id/breakfastview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/mealbreakfast"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />
    

    用我的代码

    <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
    
            <ImageView
                android:id="@+id/breakfastview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/mealbreakfast"
                android:clickable="true"
                android:onClick="onClick"
                android:scaleType="center" />
        </LinearLayout>
    

    这不会拉伸您的 ImageView 并且看起来是原样。

    希望这会有所帮助...谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多