【问题标题】:Android pushes off LinearLayout - android development?Android 推出 LinearLayout - android 开发?
【发布时间】:2013-09-16 07:25:05
【问题描述】:

我是一个初学者,我正在开发一个简单的应用程序。我在屏幕顶部有 2 张图片,底部有一张 LinearLayout,它们都由“android:layout_marginTop ...”分配。 问题是,我已经在我的索尼 xperia x8(320 x 480 像素,3.0 英寸)上尝试过,并且有 3 个图像(按钮)的主菜单被推离屏幕,请帮忙。它在android模拟器上不起作用我无法在模拟器中打开它,但我可以在我的手机上。它说:“这个.....应用程序已意外停止”

这就是我想要的样子:

https://docs.google.com/a/seoulforeign.com/file/d/0Byv_19fXkk1MaGtZR3Y3Z1lsNk0/edit

这就是它在我的索尼 x8 屏幕上的样子

https://docs.google.com/a/seoulforeign.com/file/d/0Byv_19fXkk1MaE5RazNGdVF2eHM/edit

MinSDK :2.1 目标:4.2

这是我的 main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mainbg"
android:orientation="vertical"
tools:context=".MainActivity" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="220dp"
    android:layout_height="50dp"
    android:layout_gravity="left"
    android:layout_marginLeft="-5dp"
    android:layout_marginTop="10dp"
    android:scaleType="centerCrop"
    android:src="@drawable/headingmain" />

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="300dp"
    android:layout_height="20dp"
    android:layout_gravity="right"
    android:layout_marginRight="-83dp"
    android:layout_marginTop="-12dp"
    android:scaleType="centerCrop"
    android:src="@drawable/headingby" />

<LinearLayout
  android:layout_weight="-30"
  android:id="@+id/MainMenu"
  android:layout_width="200dp"
  android:layout_height="200dp"
  android:layout_gravity="center"
  android:layout_marginTop="275dp"
  android:gravity="center"
  android:orientation="vertical" >

 <ImageButton
      android:id="@+id/imageButton1"
      android:layout_width="180dp"
      android:layout_height="55dp"
      android:background="@drawable/playbutton"
      android:padding="0dp"
      android:scaleType="centerCrop"
      android:src="@drawable/playbutton" />

 <ImageButton
      android:id="@+id/imageButton2"
      android:layout_width="180dp"
      android:layout_height="55dp"
      android:background="@drawable/helpbutton"
      android:padding="0dp"
      android:scaleType="centerCrop"
      android:src="@drawable/helpbutton" />

  <ImageButton
      android:id="@+id/imageButton3"
      android:layout_width="180dp"
      android:layout_height="55dp"
      android:background="@drawable/aboutbutton"
      android:padding="0dp"
      android:scaleType="centerCrop"
      android:src="@drawable/aboutbutton" />

    <!--  end of main menu! -->
    </LinearLayout>  


    </LinearLayout>

【问题讨论】:

  • 也发布您的日志猫详细信息
  • 发布您的日志详细信息,您遇到了什么异常
  • 为什么要使用减号(-)中的值
  • 您确实意识到您可以在 DDMS 中从您的设备获取屏幕截图,对吧? ...

标签: android xml android-layout android-emulator


【解决方案1】:

看看这是我为你尝试过的

我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.testandroid"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.testandroid.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mainbg"
android:orientation="vertical"
tools:context=".MainActivity" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="220dp"
    android:layout_height="50dp"
    android:layout_gravity="left"
    android:layout_marginLeft="-5dp"
    android:layout_marginTop="10dp"
    android:scaleType="centerCrop"
    android:src="@drawable/headingmain" />

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="300dp"
    android:layout_height="20dp"
    android:layout_gravity="right"
    android:layout_marginLeft="304dp"
    android:scaleType="centerCrop"
    android:src="@drawable/headingby" />

<LinearLayout
    android:id="@+id/MainMenu"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:layout_marginTop="120dp"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       android:layout_marginTop="12dp"
        android:src="@drawable/playbutton" />

    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="22dp"
        android:src="@drawable/playbutton" />

    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:src="@drawable/playbutton" />

    <!-- end of main menu! -->
</LinearLayout>

【讨论】:

  • 你是怎么剪掉背景的?
  • 我希望你们公司里会有一些设计师,他们有他们会做的工具,现在好不好
  • 它会导致问题吗?它推出菜单的问题?
  • 它适用于我的索尼 x8,但不适用于模拟器!它说“意外停止......”出了什么问题?
  • 感谢一切正常,世界上最好的人,我推荐他去谷歌寻找安卓开发者!!!!!!!!!
【解决方案2】:

在这种情况下,菜单 LinearLayout 上的边距顶部将是与第二张图片底部的偏移量 - 您不能假设知道第二张图片底部和屏幕底部之间的距离,所以不要试着像这样布置事情。负权重将被忽略。

另外,听起来您的菜单栏正在复制 iOS 功能,请使用 Android 等效功能 - http://developer.android.com/design/patterns/actionbar.html ActionBar 在旧 Android 版本的支持库中可用

【讨论】:

  • 但是我没有任何菜单栏,它是一个全屏应用程序,你能告诉我我应该怎么做才能修复它吗?谢谢!
  • 如果您尝试将 200dp 的菜单栏放入布局中,它可能不是全屏应用?
  • 上面两张图只是logo,不是菜单栏,会不会导致LinearLayout弹出菜单栏的问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-12
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多