1

我的切换按钮显示为普通按钮。在之前的开发平台(三星 Galaxy s Advance 与 android 4.2 和 2.3)上,该按钮显示为普通的切换按钮。在设计器中,它也显示为切换按钮。当我迁移到nexus 7(2013年初)作为android 4.3的开发平台时,问题就开始了。我打开了一个新项目并添加了一个切换按钮 - 这个在带有 android 4.3 的 nexus7 上显示得很好。当我将 xml 代码从工作的切换按钮应用程序复制到我的项目时,它再次显示一个普通按钮。

我试过

   android:minSdkVersion="11"
   android:targetSdkVersion="11"

取决于

   android:minSdkVersion="18"
   android:targetSdkVersion="18"

两个项目的两个布局文件的 XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/tvHead"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:layout_marginLeft="18dp" android:layout_marginTop="16dp" android:text="Geef chauffeur op" android:textAppearance="?android:attr/textAppearanceLarge"/>

    <ListView
        android:id="@+id/lvChauffeurs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:layout_alignLeft="@+id/tvHead" android:layout_alignParentRight="true" android:layout_alignParentTop="false" android:layout_below="@+id/tvHead">
    </ListView>
    <ProgressBar android:id="@+id/progressBar1"  style="@android:style/Widget.ProgressBar.Small" android:layout_width="wrap_content" android:layout_height="25dp" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/tvVersie" android:maxHeight="25dp" android:maxWidth="25dp" android:minHeight="20dp" android:minWidth="20dip" android:paddingTop="5dp" android:visibility="invisible"/>
    <TextView android:id="@+id/tvVersie" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/lvChauffeurs" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="Small Text" android:textAppearance="?android:attr/textAppearanceSmall" android:textSize="36px"/>
    <ToggleButton android:id="@+id/toggleButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="ToggleButton"/>
</RelativeLayout>

项目中将切换按钮显示为切换按钮的清单文件:

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

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.tst.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>

以及项目中的清单文件,将切换按钮显示为普通按钮

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.####.#"
    android:versionCode="8"
    android:versionName="0.8" >

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

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >


        <activity
            android:name="com.####.#.A"
            android:label="@string/title_activity_aanmelden"
            android:screenOrientation="landscape" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.####.#.Re"
            android:label="@string/title_activity_registratie"
            android:screenOrientation="landscape" >
         </activity>

        <activity
            android:name=".KG"
            android:label="@string/title_activity_kies_gebied"
            android:screenOrientation="landscape" >
        </activity>

        <activity
            android:name=".VK"
            android:label="@string/title_activity_voorkeuren"  
            android:screenOrientation="landscape" >
        </activity>

        <receiver android:name="com.####.#.BS" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <receiver android:name=".COR" >
            <intent-filter>
                <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
            </intent-filter>
        </receiver>


    </application>
</manifest>

谢谢

4

3 回答 3

0

尝试清理项目(项目->清理)然后重新运行它(运行将重建)有时是陈旧的文件......我有视图 ID 的问题。

如果这不起作用,请对此发表评论,并将您的 xml(或其中一些)添加到您的问题中。

您的清单文件定义了您的 Android 应用程序所拥有的一切,而不是它们是什么,因此您必须声明其中有活动。但不是活动本身。

活动实际上是您看到的 Java 文件。如果需要,您可以使用 onCreate 中的代码完全布局它们,但布局效果最好,它们要容易得多。使用带有 new->other->Android 活动的 Eclipse 来加快速度。

于 2013-09-26T10:11:41.720 回答
0

清单看起来不错。如果只是尝试仅使用切换按钮制作示例应用程序并检查它是否正常运行,请检查存在问题的现有清单。这可能会清除您的疑虑。

于 2013-09-26T10:22:58.317 回答
0

我完全删除了 android:theme="@style/AppTheme" 属性,现在它可以工作了。奇怪的东西。

感谢 xMayank 和 Alec 的帮助。

于 2013-09-26T11:10:14.140 回答