2014-05-13 38 views
0

我想創建一個L形的背景:帶下劃線和左邊線的背景。爲了進一步的參考,它類似於android的EditText設計之一。我需要爲AutocompleteTextview放置這樣的背景。在任何情況下,這裏是我的代碼創建L形背景

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="@color/transparent" > 
      </solid> 
     </shape> 
    </item> 
    <item> 
     <shape android:shape="line" > 
      <solid android:color="#000000" > 
      </solid> 
     </shape> 
    </item> 
    <item> 
     <rotate 
      android:fromDegrees="90" 
      android:toDegrees="90" > 
      <shape android:shape="line" > 
       <stroke android:color="#000000" /> 
      </shape> 
     </rotate> 
    </item> 

</layer-list> 

,但是當我嘗試形狀適用於我autocompleteTextView作爲

<AutoCompleteTextView 
    ... 
    android:background="@drawable/autocompletetextview_bkg" 
/> 

Graphical Layout在Eclipse有一個java.lang.NullPointerException。你能看到形狀文件有什麼問題嗎?

java.lang.NullPointerException 
at android.graphics.Canvas.drawLine(Canvas.java:931) 
at android.graphics.drawable.GradientDrawable.draw(GradientDrawable.java:538) 
at android.graphics.drawable.LayerDrawable.draw(LayerDrawable.java:349) 
at android.view.View.draw(View.java:14450) 
at android.view.View.draw(View.java:14350) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3103) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) 
at android.view.View.draw(View.java:14468) 
at android.view.View.draw(View.java:14350) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3103) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) 
at android.view.View.draw(View.java:14348) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3103) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) 
at android.view.View.draw(View.java:14468) 
at android.view.View.draw(View.java:14350) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3103) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) 
at android.view.View.draw(View.java:14468) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:584) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:338) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:504) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1066) 
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:686) 
at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360) 
at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:292) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474) 
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279) 
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3080) 
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1772) 
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:279) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474) 
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997) 
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140) 
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1450) 
+0

發佈stacktrace – tyczj

+0

萬一它很重要:'android:minSdkVersion =「11」' – learner

回答

0

更改中間項

<shape android:shape="line" > 
    <stroke android:color="#000000" /> 
</shape> 

憑經驗:line形繪項目沒有一個機構(他們是非常薄的),所以他們不能有純色。