2017-04-18 112 views
0

我正在看願景條碼示例,他們在xml中使用複選框控件,但在設備/模擬器上加載該應用程序時,它們看起來相當不錯,如下所示。安卓複選框外觀

enter image description here

Here is the link for the Vision Barcode Reader activity_main.xml如您在XML看它是不是一個開關,但不知道它是怎麼出現像開關一樣,這是一個謎!這就是Android Studio中的項目... enter image description here

不幸的是,當我在我們公司的應用程序中做同樣的事情時,它們顯示爲傳統複選框。也就是說,有沒有辦法在運行時強制讓它看起來像我在下面看到的圖片?

當我看材料設計的文檔時,我沒有在那裏看到這些,但傳統的one like this one

回答

1

這就是你學會了不開關的checkbox.Check switch

+0

沒有我的朋友,這裏是他們使用的XML https://github.com/googlesamples/android-vision/blob/master/visionSamples/barcode-reader/app/src/ main/res/layout/activity_main.xml,這顯然是一個複選框... – Vincy

+0

忘記感謝您的反應,並感謝它。 – Vincy

+0

@Vincy Ther是兩個activity_mail.xml。一個是layout-v17。 layout-v17 xml用於api級別爲17+的設備和api的17號以下的layout xml。layout-v17中的xml使用開關,這就是顯示的內容。 – Lcukerd

0

試試這個:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.android_examples.materialswitch_android_examplescom.MainActivity"> 

    <android.support.v7.widget.SwitchCompat 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:theme="@style/SwitchTheme"/> 

</RelativeLayout> 
在RES

/styles.xml:

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 

    <style name="SwitchTheme" parent="Theme.AppCompat.Light"> 

     <item name="colorControlActivated">#009688</item> 


     <item name="colorSwitchThumbNormal">#1DE9B6</item> 


     <item name="android:colorForeground">#B2DFDB</item> 
    </style> 

</resources> 

也確保您添加此依賴關係

compile 'com.android.support:appcompat-v7:25.3.1' 

輸出:

enter image description here

+0

謝謝你的迴應,但這不是我尋找的解決方案,不幸的是。我修改了我原來的帖子,並且在原始代碼中他們沒有使用switchcompat,但複選框。然而它看起來像開關莫名其妙,不知道如何。可能是Android的錯誤?但看起來相當IMO。 – Vincy