【问题标题】:android: landscape layout安卓:横向布局
【发布时间】:2012-12-08 06:37:20
【问题描述】:

以下布局有一些问题。布局非常简单,只需使用连续 3 个按钮的表格布局(视图 = 横向)。但是,预览屏幕中有一个“java.lang.NullPointerException”。我已经测试并发现它是由广告部分引起的,即。如果我删除广告部分,这个 java.lang.NullPointerException 将消失。

我的问题是:

  1. 广告不支持横向吗?或者如何修改下面的代码?

  2. 我也会采用插页式广告。 interstitialAd 也支持横向吗?

编码如下:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"  
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="*" 
    android:background="@drawable/bgd2" >

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_weight="0.5"        
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/buttonA"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_margin="2dp"
            android:layout_span="4"
            android:background="@drawable/green_btn"
            android:onClick="buttonA_click"
            android:text="1,2,3"
            android:textSize="20dp" />

            <Button
                android:id="@+id/buttonB"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_margin="2dp"
                android:layout_span="4"
                android:background="@drawable/blue_btn"
                android:onClick="button_Email_click"
                android:text="abc!"
                android:textSize="20dp" />        

        <Button
            android:id="@+id/buttonC"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_margin="2dp"
            android:layout_span="4"
            android:background="@drawable/orange_btn"
            android:onClick="buttonC_click"
            android:padding="2dp"
            android:text="Pictures!"
            android:textSize="20dp" />                                   

    </TableRow>

<com.google.ads.AdView 
      android:id="@+id/adView"                         
      android:layout_width="wrap_content"                         
      android:layout_height="50dp"  
      android:background="@android:color/black"
      android:text="Ads Unavailable"
      android:textStyle="bold|italic"                          
      ads:adUnitId="abc123"                        
      ads:adSize="BANNER"     
      ads:refreshInterval="15000"                                                 
      ads:loadAdOnCreate="true"/>    

</TableLayout>

【问题讨论】:

  • 你能从 logcat 发布一个堆栈跟踪吗?
  • logcat不报错,可以正常执行。但只是 Eclipse 预览显示“注意:此项目包含 Java 编译错误,这可能导致自定义视图渲染失败。首先修复编译问题。java.lang.NullPointerException 异常详细信息记录在 Window > Show View > Error Log 中”跨度>
  • 您的问题解决了吗?找到后在这里分享
  • 这可能来自布局编辑器无法处理的 AdView 中的某些内容。布局预览尝试实例化视图以预览它们。同样的事情发生在我的自定义视图中,该视图在运行时从资产创建了字体——布局编辑器无法预览它,因为这些资产尚不可用。我不得不将该代码包装在 if (!isInEditMode()) { /*...*/ } 块中。

标签: android layout landscape interstitial


【解决方案1】:

只使用

android:screenOrientation="landscape"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多