当前位置: 首页 > 知识库问答 >
问题:

创建支持4英寸和5英寸屏幕尺寸问题的Android布局

弘阳德
2023-03-14

我参考了更多的文件,也遇到了这篇和许多似乎是我的问题的帖子。但我想在这里得到更具体的建议或答案。

问题是,我已经为5英寸手机(比如nexus 4)开发了主屏幕,所以它看起来很好。当我在4英寸手机(比如nexus s)上运行相同的应用程序时,主屏幕看起来不像5年前那样“手机。这太奇怪了,有些按钮和视图没有安装。我现在该怎么办?我还尝试创建一个单独的布局文件夹,如layout-320dp和layout normal。两个屏幕都在HDPI部分下,所以我无法创建单独的布局文件夹。此外,我在主屏幕上使用了更多的图像视图,并给出了更具体的数字值f。”或是出于某种目的。如果我在drawable文件夹中缩小图像大小,意味着我也可以在4英寸的屏幕上获得漂亮的用户界面。

我的主页屏幕布局:

<?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" xmlns:tools="http://schemas.android.com/tools">

<fragment
    android:id="@+id/fragment_actionbar"
    android:layout_width="fill_parent"
    android:layout_height="44dp"
    android:layout_alignParentTop="true"
    android:name=".ActionbarFragment" >   

<RelativeLayout
    android:id="@+id/fragment_content"
    android:layout_below="@id/fragment_actionbar"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">


<ImageView
        android:id = "@+id/sty"
    android:layout_width="match_parent"
        android:layout_height="fill_parent"           
        android:scaleType="fitXY"
        android:background="@drawable/_splash_blank_screen"
        />   

  <TextView
        android:id="@+id/textLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"                  
        android:singleLine="false"          
        android:layout_toRightOf="@+id/girl_home"               
        android:textSize="14sp"
        android:layout_marginTop="12dp"
        android:layout_marginLeft="5dp"
        android:textColor="#675836"
        android:textStyle="bold" />     


   <TextView
        android:id="@+id/textLabel_weather"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"                  
        android:singleLine="false"   
        android:layout_below="@+id/textLabel"  
        android:layout_marginLeft="5dp"  
        android:layout_marginTop="5dp"   
        android:layout_toRightOf="@+id/girl_home"               
        android:textSize="14sp"            
        android:textColor="#675836"
        android:textStyle="bold" />   


    <TextView
          android:id="@+id/text_calendar"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignRight="@+id/reference_calendar_button_icon_home"
          android:paddingTop="90dp"
          android:paddingRight="1dip"
          android:singleLine="true"             
          android:textColor="@color/text_highlight"
          android:textSize="12sp"
          android:textStyle="bold" />



 <ImageView
        android:id="@+id/girl_home"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"            
        android:paddingTop="10dp" 
        android:layout_marginLeft="1dp" 
        android:paddingLeft="1dp"   
        android:src="@drawable/ic_mix_match_toast"     
        android:singleLine="true"  
         />     


 <ImageView
        android:id="@+id/today_outfit"
        android:layout_width="220dp"
        android:layout_height="320dp"                    
        android:layout_below="@+id/girl_home"  
        android:layout_marginTop="15dp"                          
        android:layout_gravity="center_horizontal"
        android:singleLine="true"  
         />


 <ImageView
        android:id="@+id/reference_calendar_button_icon_home"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"  
        android:paddingTop="20dp"
        android:paddingLeft="55dp"              
        android:layout_toRightOf="@+id/today_outfit"              
        android:singleLine="true"                
        android:src="@drawable/btn_calendar_home" /> 

  <ImageView
        android:id="@+id/closet_button_icon_home"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"  
        android:paddingTop="30dp"
        android:paddingLeft="40dp"  
        android:layout_below="@id/text_calendar"        
        android:layout_toRightOf="@+id/today_outfit"      
        android:src="@drawable/ic_closet_home_new" /> 


      <ImageView
        android:id="@+id/search_notes"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:paddingTop="150dp"
        android:paddingLeft="80dp"    
        android:src="@drawable/btn_search_home"            
        android:layout_gravity="center_horizontal" /> 

      <TextView
        android:id="@+id/text_weather"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"                     
        android:singleLine="false"            
        android:layout_below="@+id/chat_button_icon_home" 
        android:layout_marginTop="-5dp"
        android:paddingLeft="50dip"          
        android:textSize="12dip"
        android:text="TODAY'S FORECAST"
        android:textColor="@color/text_highlight"
        android:textStyle="bold" />


      <TextView
        android:id="@+id/today_look"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"                     
        android:singleLine="false"            
        android:layout_below="@+id/today_outfit" 
        android:paddingLeft="65dip"  
        android:paddingTop="1dip"        
        android:textSize="12sp"        
        android:textColor="@color/text_highlight"
        android:textStyle="bold" />

       <TextView
        android:id="@+id/textLabel_weather_location"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_below="@+id/today_look"
        android:layout_marginTop="38dp"   
        android:layout_marginLeft="10dp"                  
        android:singleLine="false"           
        android:layout_toRightOf="@+id/chat_button_icon_home"                 
        android:textSize="14dip"
        android:textColor="#675836"
        android:textStyle="bold" /> 


      <TextView
          android:id="@+id/text_window"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"                
          android:layout_below="@+id/window_button_icon_home"                        
          android:singleLine="true"
          android:paddingLeft="260dp"              
          android:textColor="@color/text_highlight"
          android:textSize="12sp"
          android:textStyle="bold" />

      <ImageView
          android:id="@+id/chat_button_icon_home"
          android:layout_width="70dp"
          android:layout_height="70dp"
          android:layout_below="@+id/today_look" 
          android:layout_marginTop="35dp"  
          android:layout_marginLeft="10dp"             
          android:singleLine="true"
           />

      <ImageView
          android:id="@+id/window_button_icon_home"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"              
          android:layout_toRightOf="@+id/today_outfit"   
          android:layout_below="@+id/text_inspire"  
          android:layout_marginTop="20dp"      
          android:paddingLeft="30dp"              
          android:singleLine="true"
          android:src="@drawable/btn_window_shop_new" />

      <ImageView
          android:id="@+id/inspire_idea"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"                       
          android:paddingLeft="30dp"
          android:paddingTop="25dp"
          android:singleLine="true"
          android:layout_below="@+id/text_closet"
          android:layout_toRightOf="@+id/today_outfit" 
          android:src="@drawable/btn_inspire_home" />

      <TextView
          android:id="@+id/text_closet"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/closet_button_icon_home"              
          android:paddingTop="1dip"
          android:paddingLeft="275dp"
          android:singleLine="true"             
          android:textColor="@color/text_highlight"
          android:textSize="12sp"
          android:textStyle="bold" />

      <TextView
          android:id="@+id/text_inspire"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/today_outfit"
          android:paddingLeft="270dp"
          android:paddingTop="-10dp"
          android:singleLine="true"             
          android:textColor="@color/text_highlight"
          android:textSize="12sp"
          android:textStyle="bold" />        
</RelativeLayout>

任何帮助都将不胜感激。提前谢谢。

共有2个答案

淳于健
2023-03-14

您可以根据高度和宽度创建布局文件夹。例如-resent-w360dp,resent-w480dp或resent-h480dp或resent-h600dp。然后根据您的需求在这些布局中设置视图。

编辑-

对于Nexus-4createlayout-w720dpNexus-SNexus-One创建layout-w480dp。现在可以了。

司徒嘉祥
2023-03-14

我建议您使用linearlayout作为父布局,使用权重作为权重,将屏幕等分。无需创建任何额外的布局文件夹。

 类似资料:
  • 我有一个Android应用程序与一个布局文件。对于不同的密度,我有不同的布局文件,即,布局hdpi,布局mdpi等。我也有不同的dimens文件在相应的值目录(值mdpi,值hdpi,等)。 我的问题是,我想为4英寸和5英寸屏幕设备使用不同的布局。我在两个物理上测试一个4英寸和一个5英寸,两个设备都使用 /res/layout文件夹的布局和 /res/values-hdpi/文件夹的dimens文

  • 问题内容: 我已经仔细阅读了http://developer.android.com/guide/practices/screens_support.html和其他相关网站中的文档,但我仍然对此表示怀疑。让我解释: 我已经为值,values-large和values- xlarge实现了dimens.xml,因此,例如,在平板电脑上运行时,我的Android应用程序很好。但是,我指定了填充,边距,

  • 我试图用swXXXdp布局文件为不同的屏幕大小创建不同的布局。不幸的是,我仍然不能分开5,0“和6,3”作为可见的附上的图像。两种大小仍然使用相同的文件:layout-sw412dp。对此有什么想法吗?

  • 问题内容: 嗨,我正在编写图形程序,我一直在寻找一种获取所使用屏幕物理尺寸的方法。我可以获得以像素为单位的屏幕大小以及逻辑分辨率。我似乎找不到任何地方可以获取任何显示器规格中始终具有的物理尺寸(例如19“-376 x 301 mm)。问题是,加载此信息时,此信息是否甚至还存储在OS中的任何位置?我正在编写的程序需要在Mac和Windows上运行。 谢谢! nt 问题答案: 我认为Java不可能实现

  • 我想将值从厘米转换为英寸和英尺。使用以下格式(0'00''),我使用以下forumla 答案是准确的,但唯一的问题是英寸的值在小数点后有很多数字。。 请帮助我如何将数值的英寸部分四舍五入到小数点后两位数? 请帮我怎么即兴创作这个公式谢谢 萨拉姆。 查看图片中的示例

  • 问题内容: 无论屏幕大小如何,我都想使用Swift代码在我的应用程序中正确定位项目。例如,如果我希望按钮的宽度为屏幕宽度的75%,则可以做为按钮的宽度。我发现可以通过在Objective-C中确定 不幸的是,我不确定如何将其转换为Swift。有人有主意吗? 谢谢! 问题答案: 在Swift 3.0中 快点做:做这样的事情: 那么您可以像这样访问宽度和高度: 如果您想要屏幕宽度的75%,则可以执行以