我只是Android应用程序开发的初学者.当我在Android Studio 1.1.0上创建一个新项目时,它放弃了这个错误" 渲染问题无法找到以下类:android.support.v7.internal.widget.ActionBarOverlayLayout "
现在我在google上搜索了这个,我发现大多数人可能会给出3个解决方案.
他们说:
将api(从预览窗口窗格)从22更改为21,或者
将应用主题从"项目主题"更改为任何其他主题.
一定要在项目结构中导入正确的appcompat-v7库 - >依赖项, 请参考以下步骤:将支持库功能项目标识符添加到依赖项部分.例如,要包含appcompat项目,请将compile"com.android.support:appcompat-v7:18.0.+"添加到依赖项部分,如以下示例所示:
Run Code Online (Sandbox Code Playgroud)dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" }
注意:我的android支持lib是最新的(使用SDK Manager安装它).
按照前两个步骤,删除错误.但我觉得这些不是永久的解决方案,第二步似乎就像一个临时的解决方法.我对第一步也有疑问,如果要删除错误,我们将api从22更改为21,最后,我们的应用程序将无法在Android 5.1.1(API 22)中运行,它将仅限于Android 5.0 .1及以下(API 21).我的疑惑有效吗?关于第三步,它是这个问题的永久解决方案吗?
PS:很抱歉标注不匹配,由于网站声誉,不允许添加确切的标记
我switch
在我的申请中使用了以下内容.
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text=""
android:thumb="@drawable/toggle_button_color"
android:textOff="@string/text_estimate"
android:textOn="@string/text_accurate"
android:textColor="@color/white" />
Run Code Online (Sandbox Code Playgroud)
在上面switch
我toggle_button_color.xml
用来switch
分别打开和关闭时将拇指颜色改为绿色和红色.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@color/red" />
<item android:state_checked="true" android:drawable="@color/green" />
</selector>
Run Code Online (Sandbox Code Playgroud)
如果我将其添加switch
到活动布局,然后将其完美地放在下面的图像中.
但如果我switch
在Dialog
使用时加上这个,m_dialog.setContentView(R.layout.mylayout);
那么切换如下所示.请注意,这mylayout.xml
是layout
我添加的文件switch
.
对于低于5.0的Android版本,棒棒糖switch
正如我想的那样正常工作.请注意,由于某些原因我Theme.Holo.Light
在我的应用程序中使用,所以我不能使用SwitchCompat
.
我知道这里有一个类似的问题,点击Android 5.0时Switch崩溃了.
此处还会报告https://code.google.com/p/android-developer-preview/issues/detail?id=1704.我也试过上面链接中提到的工作为拇指和轨道添加可绘制的图像,但我不明白为什么同一个开关正在工作activity layout
但没有Dialog
.
有人可以帮我解决这个问题吗?
我一直得到错误说ActionBarDrawerToggle不能应用于v7.widget.Toolbar,因为我看了其他人如何修复类似的问题,他们现在都支持库文件,但错误不会因某种原因消失.
该错误表示ActionBarDrawerToggle()
在ActionBarDrawerToggle
不能应用到android.support.v7.widget.Toolbar
再根据实际参数R.id.drawable_ic_drawer (int)
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.support.v7.widget.Toolbar;
Run Code Online (Sandbox Code Playgroud)
mDrawerToggle = new android.support.v7.app.ActionBarDrawerToggle(
getActivity(), /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */
R.string.navigation_drawer_open, /* "open drawer" description for accessibility */
R.string.navigation_drawer_close /* …
Run Code Online (Sandbox Code Playgroud)