Android 抽屉布局充气错误,带有一些客户风格
我正在尝试使用抽屉布局。我从这个项目中学习方法 我说问题出在属性或样式上,但我找不到它。 现在我将向我展示代码 在activity_main.xml中:Android 抽屉布局充气错误,带有一些客户风格,android,android-layout,Android,Android Layout,我正在尝试使用抽屉布局。我从这个项目中学习方法 我说问题出在属性或样式上,但我找不到它。 现在我将向我展示代码 在activity_main.xml中: <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" /> <fragment android:id="@+id/na
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<fragment
android:id="@+id/navigation_drawer"
android:name="com.xjtu.wangshuai.vstarcoffee.NavigationDrawerFragment"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
tools:layout="@layout/fragment_navigation_drawer" />
在fragment\u navigation\u drawer\u items.xml中:
android:layout\u width=“match\u parent”
android:layout\u height=“包装内容”
android:background=“#e2”
android:orientation=“vertical”>
但我得到了一个错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xjtu.wangshuai.vstarcoffee/com.xjtu.wangshuai.vstarcoffee.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2508)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570)
at android.app.ActivityThread.access$800(ActivityThread.java:167)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5590)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)
Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at com.xjtu.wangshuai.vstarcoffee.NavigationDrawerFragment.onCreateView(NavigationDrawerFragment.java:94)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:920)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1206)
at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2159)
at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297)
at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
at com.xjtu.wangshuai.vstarcoffee.MainActivity.onCreate(MainActivity.java:60)
at android.app.Activity.performCreate(Activity.java:6021)
Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 13
at android.content.res.TypedArray.getDrawable(TypedArray.java:747)
at android.view.View.<init>(View.java:3823)
at android.view.ViewGroup.<init>(ViewGroup.java:518)
at android.widget.LinearLayout.<init>(LinearLayout.java:215)
at android.widget.LinearLayout.<init>(LinearLayout.java:211)
at android.widget.LinearLayout.<init>(LinearLayout.java
java.lang.RuntimeException:无法启动活动组件信息{com.xjtu.wangshuai.vstarcoffee/com.xjtu.wangshuai.vstarcoffee.MainActivity}:android.view.InflateException:二进制XML文件行#9:膨胀类时出错
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2508)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570)
在android.app.ActivityThread.access$800(ActivityThread.java:167)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)上
位于android.os.Handler.dispatchMessage(Handler.java:111)
位于android.os.Looper.loop(Looper.java:194)
位于android.app.ActivityThread.main(ActivityThread.java:5590)
位于java.lang.reflect.Method.invoke(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:372)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)
原因:android.view.InflateException:二进制XML文件行#9:膨胀类时出错
在android.view.LayoutInflater.createView(LayoutInflater.java:633)
在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)上
位于android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
位于android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
在android.view.LayoutInflater.充气(LayoutInflater.java:504)
在android.view.LayoutInflater.inflate(LayoutInflater.java:414)
位于com.xjtu.wangshuai.vstarcoffee.NavigationDrawerFragment.onCreateView(NavigationDrawerFragment.java:94)
位于android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:920)
位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
位于android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1206)
位于android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2159)
位于android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297)
位于android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
在android.view.LayoutInflater.充气(LayoutInflater.java:504)
在android.view.LayoutInflater.inflate(LayoutInflater.java:414)
在android.view.LayoutInflater.充气(LayoutInflater.java:365)
在android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
位于android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
位于com.xjtu.wangshuai.vstarcoffee.MainActivity.onCreate(MainActivity.java:60)
位于android.app.Activity.performCreate(Activity.java:6021)
原因:java.lang.RuntimeException:未能解析索引13处的属性
位于android.content.res.TypedArray.getDrawable(TypedArray.java:747)
在android.view.view.(view.java:3823)
在android.view.ViewGroup。(ViewGroup.java:518)
位于android.widget.LinearLayout.(LinearLayout.java:215)
位于android.widget.LinearLayout.(LinearLayout.java:211)
在android.widget.LinearLayout.(LinearLayout.java
在activity\u main.xml中更改片段属性
android:name=“com.xjtu.wangshuai.vstarcoffee.NavigationDrawerFragment”
到
class=“com.xjtu.wangshuai.vstarcoffee.NavigationDrawerFragment”
希望这有帮助……你能发布
com.xjtu.wangshuai.vstarcoffee.widget.CustomerScrollView的代码吗?
我尝试使用你的建议,但问题仍然存在。
public class CustomerScrollView extends ScrollView {
private static final int size = 4;//表示拖动的距离为屏幕的高度的1/4
private View inner;
private float y;
private Rect normal = new Rect();
public CustomerScrollView(Context context) {
super(context);
}
public CustomerScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
if (getChildCount() > 0) {
inner = getChildAt(0);
}
}
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (inner == null) {
return super.onTouchEvent(ev);
} else {
commOnTouchEvent(ev);
}
return super.onTouchEvent(ev);
}
public void commOnTouchEvent(MotionEvent ev) {
int action = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
y = ev.getY();
break;
case MotionEvent.ACTION_UP:
if (isNeedAnimation()) {
// Log.v("mlguitar", "will up and animation");
animation();
}
break;
case MotionEvent.ACTION_MOVE:
final float preY = y;
float nowY = ev.getY();
/**
* size=4 表示 拖动的距离为屏幕的高度的1/4
*/
int deltaY = (int) (preY - nowY) / size;
// 滚动
// scrollBy(0, deltaY);
y = nowY;
if (isNeedMove()) {
if (normal.isEmpty()) {
normal.set(inner.getLeft(), inner.getTop(),
inner.getRight(), inner.getBottom());
return;
}
int yy = inner.getTop() - deltaY;
// 移动布局
inner.layout(inner.getLeft(), yy, inner.getRight(),
inner.getBottom() - deltaY);
}
break;
default:
break;
}
}
public void animation() {
TranslateAnimation ta = new TranslateAnimation(0, 0, inner.getTop(),
normal.top);
ta.setDuration(200);
inner.startAnimation(ta);
inner.layout(normal.left, normal.top, normal.right, normal.bottom);
normal.setEmpty();
}
public boolean isNeedAnimation() {
return !normal.isEmpty();
}
public boolean isNeedMove() {
int offset = inner.getMeasuredHeight() - getHeight();
int scrollY = getScrollY();
if (scrollY == 0 || scrollY == offset) {
return true;
}
return false;
}
}
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e2e2e2"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/menu_item_order_record"
style="@style/MenuItemLayoutStyle" >
<ImageView
style="@style/MenuItemImageViewStyle"
android:background="@drawable/drawer_menu_icon_blog_nor"
android:contentDescription="@null" />
<TextView
style="@style/MenuItemTextViewStyle"
android:gravity="center"
android:text="@string/drawer_order_record" />
</LinearLayout>
<View
style="@style/h_line" />
<LinearLayout
android:id="@+id/menu_item_member_points"
style="@style/MenuItemLayoutStyle" >
<ImageView
style="@style/MenuItemImageViewStyle"
android:background="@drawable/drawer_menu_icon_blog_nor"
android:contentDescription="@null" />
<TextView
style="@style/MenuItemTextViewStyle"
android:text="@string/drawer_member_points" />
</LinearLayout>
<View
style="@style/h_line" />
<LinearLayout
android:id="@+id/menu_item_member_card"
style="@style/MenuItemLayoutStyle" >
<ImageView
style="@style/MenuItemImageViewStyle"
android:background="@drawable/drawer_menu_icon_blog_nor"
android:contentDescription="@null" />
<TextView
style="@style/MenuItemTextViewStyle"
android:text="@string/drawer_menmber_card" />
</LinearLayout>
<View
style="@style/h_line" />
<LinearLayout
android:id="@+id/menu_item_message"
style="@style/MenuItemLayoutStyle" >
<ImageView
style="@style/MenuItemImageViewStyle"
android:background="@drawable/drawer_menu_icon_blog_nor"
android:contentDescription="@null" />
<TextView
style="@style/MenuItemTextViewStyle"
android:text="@string/drawer_message" />
</LinearLayout>
<View
style="@style/h_line" />
<LinearLayout
android:id="@+id/menu_item_vstar_set"
style="@style/MenuItemLayoutStyle" >
<ImageView
style="@style/MenuItemImageViewStyle"
android:background="@drawable/drawer_menu_icon_blog_nor"
android:contentDescription="@null" />
<TextView
style="@style/MenuItemTextViewStyle"
android:text="@string/drawer_vstar_set" />
</LinearLayout>
<View
style="@style/h_line" />
<LinearLayout
android:id="@+id/menu_item_settings"
style="@style/MenuItemLayoutStyle" >
<ImageView
style="@style/MenuItemImageViewStyle"
android:background="@drawable/drawer_menu_icon_blog_nor"
android:contentDescription="@null" />
<TextView
style="@style/MenuItemTextViewStyle"
android:text="@string/drawer_settings" />
</LinearLayout>
<View
style="@style/h_line" />
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xjtu.wangshuai.vstarcoffee/com.xjtu.wangshuai.vstarcoffee.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2508)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570)
at android.app.ActivityThread.access$800(ActivityThread.java:167)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5590)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)
Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at com.xjtu.wangshuai.vstarcoffee.NavigationDrawerFragment.onCreateView(NavigationDrawerFragment.java:94)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:920)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1206)
at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2159)
at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297)
at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
at com.xjtu.wangshuai.vstarcoffee.MainActivity.onCreate(MainActivity.java:60)
at android.app.Activity.performCreate(Activity.java:6021)
Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 13
at android.content.res.TypedArray.getDrawable(TypedArray.java:747)
at android.view.View.<init>(View.java:3823)
at android.view.ViewGroup.<init>(ViewGroup.java:518)
at android.widget.LinearLayout.<init>(LinearLayout.java:215)
at android.widget.LinearLayout.<init>(LinearLayout.java:211)
at android.widget.LinearLayout.<init>(LinearLayout.java