2017-02-20 70 views
1

正常,Android为有4种不同的尺寸分别是选项;小,正常,大,xlarge。然而,正常的大小可以容纳3.7" 设备4.95"如何正确分配布局到一定大小的移动

我的问题是,如何只指定某些器件尺寸,在我的情况下,从3.7" 至4" ?

我试图让从预选赛部分正常和华电国际之间的组合,但后来意识到,有一些是在该尺寸范围内的设备,但xhdpi

另一种方式来问我的问题是:我有两个布局,一个应该显示对于具有3.7" 到4" 尺寸的设备和其他将在具有尺寸的装置上显示超过4"

+0

我不知道如果我理解正确的问题了吗?你的意思是让应用程序的布局适合每种尺寸的屏幕或图像,以适应每种尺寸的屏幕而不会丢失质量? – koksalb

+0

不,我对不同的屏幕尺寸有两种不同的布局,两种布局中都有相同的对象。但是对象放置在每个布局中的不同位置 – Pomanh

+0

您在定义宽度和高度时是否使用了权重,或者只是使用简单的PX DP SP等来定义它们的大小?一张图片和XML代码会很好,也许编辑,所以我们可以看到什么似乎是错误的。 – koksalb

回答

1

可以尝试这则:

具有x和y后你几乎可以知道屏幕的大小,那么你可以将onCreate方法上的不同XML文件充满到c歪曲了应用程序的外观。

只是一个问题是,当你在其中一个上定义了一些按钮等时,它们可能不存在于另一个按钮上。尝试创建一个巨大的片段空间膨胀的活动,在它的片段,所以你不必写里面的OnCreate你的整个代码,如果一个Java文件中的。

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     Display display = getWindowManager().getDefaultDisplay(); 
     Point size = new Point(); 
     display.getSize(size); 
     int width = size.x; 
     int height = size.y; 

     if(//some code here to calculate what size the screen is lets say +4") 
     { 
      setContentView(R.layout.layout1); 
     } 
     else if(//another block for lets say 3.7") 
     { 
      setContentView(R.layout.layout2);      
     } 
    } 

祝你好运希望工程

+1

我期待着找到一种使用布局文件限定符的方法,你提供的方法可以工作,但这意味着我将为每个布局制作不同的布局名称,并在java文件中进行更改 – Pomanh