0

我一直在 XML 布局文件中使用以下代码:

<!-- Copyright (C) 2008 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- OK confirm and cancel buttons.  -->
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:divider="?android:attr/dividerHorizontal"
        android:showDividers="beginning"
        android:paddingTop="16dip">

    <LinearLayout
            style="?android:attr/buttonBarStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:measureWithLargestChild="true">

        <LinearLayout android:id="@+id/leftSpacer"
                android:layout_weight="0.25"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:visibility="gone" />

        <Button android:id="@+id/cancel_button"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:layout_weight="1"
                android:text="@string/cancel"
                android:maxLines="2"
                style="?android:attr/buttonBarButtonStyle" />

        <Button android:id="@+id/ok_button"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:layout_weight="1"
                android:text="@string/install"
                android:maxLines="2"
                android:filterTouchesWhenObscured="true"
                style="?android:attr/buttonBarButtonStyle" />

        <LinearLayout android:id="@+id/rightSpacer"
                android:layout_width="0dip"
                android:layout_weight="0.25"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:visibility="gone" />

    </LinearLayout>
</LinearLayout>

当在 ICS 或更高版本或手机应用程序中安装应用程序时,这会创建由一条微弱的线分隔的无边框按钮。它曾经在 Froyo 和 Gingerbread 中运行良好,但是自从更新到 ADT 的最新版本后,这个 XML 布局文件给出了编译错误,说明按钮栏样式只能用于 API 级别 11 及更高版本。

正如之前所说,它曾经编译得很好,有什么我可以做的来修复它。一个技巧是每当我得到编译错误时,就是增加清单中的 API 级别,保存它然后再次降低它。现在 ADT 不会抱怨,直到我再次打开 XML 文件。

4

1 回答 1

2

但是,自从更新到最新版本的 ADT 后,此 XML 布局文件出现编译错误,说明按钮栏样式只能用于 API 级别 11 及更高版本。

这是因为这些 属性仅在 API 级别 11 开始定义。

有什么我可以解决的吗

停止在 API 级别 10 及以下使用它,因为它可能会给您带来您尚未看到的问题。例如,您可以将此布局移动到,并在其中创建不具有这些属性res/layout-v11/的同一布局文件的另一个版本。res/layout/style

于 2012-12-22T01:17:45.910 回答