Android ToggleButton显示为正常按钮

时间:2013-09-26 09:47:07

标签: java android togglebutton nexus-7

我的togglebutton显示为普通按钮。在之前的开发平台上(三星Galaxy s与Android 4.2& 2.3一起推进)按钮显示为正常的togglebutton。在设计师中它也显示为togglebutton。 当我迁移到nexus 7(2013年初)作为Android 4.3的开发平台时,问题就出现了。 我打开了一个新项目并添加了一个togglebutton - 这个在使用android 4.3的nexus7上显示正常。当我将xml代码从工作togglebutton应用程序复制到我的项目时,它再次显示一个普通按钮。

我试过

   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>

项目中的清单文件,将togglebutton显示为togglebutton:

<?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>

项目中显示togglebutton作为普通按钮的清单文件

<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>

由于

3 个答案:

答案 0 :(得分:0)

尝试清理项目(项目 - &gt;干净)然后重新运行(运行将重建)有时过时的文件....我有查看ID的问题。

如果这不起作用,请写一条注释,并将xmL(或其中一些)添加到您的问题中。

您的清单文件定义了Android应用程序的所有内容,而不是它们的内容,因此您必须声明您在那里有活动。但不是活动本身。

活动实际上是您看到的Java文件。如果你愿意的话,你可以使用onCreate中的代码完全放置它们,但布局效果最好,它们更容易。将Eclipse与new-&gt; other-&gt; Android活动结合使用可加快速度。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

感谢xMayank和Alec的帮助。