Android Imageview越来越小

时间:2014-10-28 05:34:41

标签: android

我正在制作一个Android应用程序,我在其中使用ImageView.My图像在普通手机屏幕上完美显示, 但是在像Tabs这样的大屏幕设备上,它变得越来越小,并且在屏幕的左侧。那么最合适的解决方案是什么?

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/rl"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#550e8c" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:background="#550e8c"
            android:text=""
            android:textColor="#e2ffff" />

        <Button
            android:id="@+id/help"
            android:layout_width="52dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_alignParentTop="true"
            android:layout_alignRight="@+id/textView2"
            android:background="#550e8c"
            android:drawableLeft="@drawable/help1" />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rl"
        android:background="#E5E3E4"
        android:orientation="horizontal"
         >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/home"
            android:adjustViewBounds="true"

 />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="5dp"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="52dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:background="#781a8f"
            android:drawableLeft="@drawable/earthnew1"
            android:drawablePadding="30dp"
            android:gravity="left|center_vertical"
            android:paddingLeft="10dp"
            android:text="@string/aware_patient"
            android:textColor="#e2ffff"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btnCardiology_updates"
            android:layout_width="match_parent"
            android:layout_height="52dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="6dp"
            android:background="#781a8f"
            android:drawableLeft="@drawable/updates1"
            android:drawablePadding="30dp"
            android:gravity="left|center_vertical"
            android:paddingLeft="10dp"
            android:text="@string/Cardiology_updates"
            android:textColor="#e2ffff"
            android:textStyle="bold" />

        <Button
            android:id="@+id/button3"
            android:layout_width="match_parent"
            android:layout_height="52dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="6dp"
            android:background="#781a8f"
            android:drawableLeft="@drawable/linknew1"
            android:drawablePadding="30dp"
            android:gravity="left|center_vertical"
            android:paddingLeft="10dp"
            android:text="@string/useful_links"
            android:textColor="#e2ffff"
            android:textStyle="bold" />

        <Button
            android:id="@+id/button4"
            android:layout_width="match_parent"
            android:layout_height="52dp"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="6dp"
            android:background="#781a8f"
            android:drawableLeft="@drawable/linknew1"
            android:drawablePadding="30dp"
            android:gravity="left|center_vertical"
            android:paddingLeft="10dp"
            android:text="@string/Useful_journlas"
            android:textColor="#e2ffff"
            android:textStyle="bold" >
        </Button>
    </LinearLayout>

</RelativeLayout>

4 个答案:

答案 0 :(得分:0)

您正在使用线性布局内的图像视图,尽管图像视图宽度为wrap_content,但布局宽度为fill_parent。将其更改为wrap_content ...

赞这个

 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rl"
        android:background="#E5E3E4"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/home"
            android:adjustViewBounds="true"/>
    </LinearLayout>

答案 1 :(得分:0)

问题是您在每个文件夹中放置相同的图像。由于平板电脑和手机具有不同的分辨率,因此您需要不同的分辨率图如果您使用相同的图像,那么您将在其中一个设备中遇到问题。

答案 2 :(得分:0)

您需要使用带有fill_parent或weight选项的线性布局和图像视图,并使用左,右,底部和顶部的边距。因此,您的图像视图和线性布局将根据您的屏幕分辨率进行扩展。

答案 3 :(得分:0)

您在same resolution中使用了名为 home 的图片作为不同的drawable文件夹。

如需支持平板电脑,请使用largexlarge限定符。 Nexus 7 大型hdpi 平板电脑(技术上是tvdpi,但是从hdpi获取图像)。因此,如果您想为 Nexus 7 添加图像,请创建一个名为 drawable-large-hdpi 的文件夹并将图像放在那里。

现在关于10英寸平板电脑的情况,它们是xlarge设备,它们的密度可以从 mdpi变为xhdpi(Nexus 10)。但许多人已经解析1280 * 800,他们是mdpi设备。

像这样创建可绘制的文件夹

  

// for Phones

     
      
  1. 抽拉-MDPI
  2.   
  3. 抽拉-HDPI
  4.   
  5. 抽拉-xhdpi
  6.   
  7. 抽拉-xxhdpi
  8.         

    //适用于7英寸平板电脑

         
        
    1. 抽拉-大LDPI
    2.   
    3. 抽拉-大MDPI
    4.   
    5. drawable-large-hdpi(适用于Nexus 7)
    6.         

      //适用于10英寸平板电脑

           
          
      1. 抽拉-XLARGE-MDPI
      2.   
      3. drawable-xlarge-xhdpi(适用于nexus 10)
      4.   

为不同的分辨率创建 home.png 。以下是整个屏幕的resolution列表,根据您的要求对您的图片进行切片

  
      
  1. 320 x 480 for mdpi
  2.   
  3. 480 x 800 for hdpi,large-ldpi
  4.   
  5. 600 x 1024 for large-mdpi(7英寸平板电脑)
  6.   
  7. 720 x 1280 for xhdpi(s3,nexus 4)
  8.   
  9. 800 x 1280适用于大型hdpi,xlarge-mdpi(nexus 7,其他10英寸)   片剂)
  10.   
  11. 1080 x 1920 for xxhdpi(s4,s5,nexus 5)
  12.   
  13. 2560 X 1600 for xlarge-xhdpi(nexus 10)
  14.