java - 多屏幕支持

标签 java android

我在多屏幕支持方面遇到一些问题,我使用 dp(dpi) 来指定布局高度和布局宽度,我希望这是支持多屏幕的更好方法,但是当我尝试使用两部智能手机时,我遇到了两个不同的结果.

我举个例子,这是我使用的布局:

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

       <ListView
          android:id="@+id/citieslist"
          android:layout_width="wrap_content" 
          android:layout_height="320dip"
          android:layout_gravity="center_vertical"
          android:layout_below="@id/cities_main_layout"
       />

       <LinearLayout 
          android:id="@+id/cities_button_layout"
          android:orientation="horizontal"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@id/citieslist"
          android:layout_gravity="center_vertical">   
        <Button 
           android:id="@+id/bycountry"
           android:layout_height="50dip"
           android:layout_width="105dip"
           android:background="@drawable/buttonmarket"
           android:text="@string/button_bycountry"
          />
        <Button 
           android:id="@+id/top10"
           android:layout_height="50dip"
           android:layout_width="105dip"
           android:background="@drawable/buttonmarket"
           android:text="@string/button_top10"
          />
        <Button 
           android:id="@+id/recommended"
           android:layout_height="50dip"
           android:layout_width="105dip"
           android:background="@drawable/buttonmarket"
           android:text="@string/button_recommended"
          />

       </LinearLayout>

    </RelativeLayout>

按钮位于布局的底部,我看到两个不同的结果:

http://img600.imageshack.us/img600/5513/htcmagicg2.png http://img600.imageshack.us/img600/5513/htcmagicg2.png

http://img441.imageshack.us/img441/6440/samsunggalaxys.png http://img441.imageshack.us/img441/6440/samsunggalaxys.png

在最后一款智能手机中我可以看到按钮,而在第一款中我看不到......出了什么问题?

我必须为任何一组屏幕编写布局???!!!

最佳答案

你的ListView有

android:layout_height="320dip"

现在如果手机屏幕较小,则无法容纳。

尝试这样做:(由于评论而编辑。这在 Eclipse 中显示正确)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView 
    android:id="@+id/listview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#FF0000"
    android:layout_above="@+id/linlay">
</ListView>
<LinearLayout 
    android:id="@+id/linlay"    
    android:orientation="horizontal"
    android:layout_width="fill_parent" 
    android:layout_height="30dip"
    android:background="#00FF00"
    android:layout_alignParentBottom="true">
</LinearLayout>
</RelativeLayout>

我认为应该修复它。

干杯

关于java - 多屏幕支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4605855/

相关文章:

java - 我想在启动后从另一个服务调用服务方法,但我不知道如何创建该服务的对象

java - 如何从 .jar 加载文件夹?

java - 最大乘积子数组的范围(Kadane 算法变体)

java - 如何根据数据库中的值将textView向右或向左对齐

android - 从 NFC 安装 GooglePlay 定位的应用程序

java - Android类设计

android - 有什么方法可以通过双击自动访问 Logcat 中的任何登录?

java - RESTful 身份验证 - 在高负载下导致性能不佳?

java - 尝试将自定义行添加到 gwt 中的 CellTable 时出现 Null 错误

Java计算解压缩过程的进度