Articles of xml

如何在LinearLayout类中充气Android视图?

我有一小块xml,我将在我的应用中的很多地方使用。 出于这个原因,我想把它存储在一个单独的文件。 所以我创build了mywidget.xml,其中我有我的XML。 然后我尝试在mywidget.java中膨胀这个,之后我想将它包含在不同的xml文件中,如下所示: <com.mycom.android.ui.widget.AmountWidget android:layout_width="fill_parent" android:layout_height="wrap_content"></com.mycom.android.ui.widget.AmountWidget> 在我的java文件中,我尝试膨胀最初的XML如下所示: public class AmountWidget extends LinearLayout { public AmountWidget(Context context) { super(context); LinearLayout ll = (LinearLayout) findViewById(R.layout.amount_widget); addView(ll); } } 但是用上面的代码,我得到一个错误,说有一个错误,使com.mycom.android.ui.widget.AmountWiget类膨胀。 我的问题:是否有人知道如何膨胀布局,以便我可以在另一个XML布局文件中使用它作为一个类? 小部件的xml如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:padding="10dp" android:background="@layout/border" > <EditText android:id="@+id/payment_amount_major" android:layout_width="0dp" android:layout_height="wrap_content" android:textSize="35sp" android:textStyle="bold" android:inputType="number" android:digits="0,1,2,3,4,5,6,7,8,9" android:maxLength="9" android:gravity="right" /> </LinearLayout>

Android Studio 1.2.1.1布局预览问题

在更新到Android Studio 1.2.1.1之后,我创build了一个新的空白项目并创build了一个layout.xml 创作后不久,我决定看预览。 我进去了,我看到了这个: 以下类无法实例化: – android.support.v7.internal.widget.ActionBarOverlayLayout(打开类,显示exception,清除caching)提示:在自定义视图中使用View.isInEditMode()可以跳过代码或显示示例数据在IDE中显示exception详细信息java.lang.NoClassDefFoundError:无法在android.view.LayoutInflater的java.lang.reflect.Constructor.newInstance(Constructor.java:408)处初始化类android.support.v7.internal.widget.ActionBarOverlayLayout .inflate(LayoutInflater.java:482)at android.view.LayoutInflater.inflate(LayoutInflater.java:414)at com.android.layoutlib.bridge.bars.BridgeActionBar。(BridgeActionBar.java:84)at com.android.layoutlib .bridge.bars.AppCompatActionBar。(AppCompatActionBar.java:56)将堆栈复制到剪贴板 我从来没有见过,我从来没有遇到过。 任何人有任何想法如何解决这个问题? 编辑: 有人推荐我这个位置,但它没有工作。 它只给我带来了NullPointerExceptions 。 我试图重build项目,但没有奏效。

以下类无法使用android.support.v7.widget.AppCompatTextView实例化

最近我改变我的SDK从25到26在我的应用程序在Android工作室,我得到这个奇怪的错误,在我所有的XML。 目前这个错误不会以任何方式影响我的应用程序,但是看到每次我必须在xml中编辑或更改某些内容时,都会感到厌烦。 这里的错误: 以下类无法实例化 – android.support.v7.widget.AppCompatTextView java.lang.NullPointerException at android.content.res.Resources_Delegate.getValue(Resources_Delegate.java:788) at android.content.res.Resources.getValue(Resources.java:1286) at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:212) at android.support.v4.content.res.ResourcesCompat.getFont(ResourcesCompat.java:206) at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119) at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208) at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:152) at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38) at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:81) at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:71) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:475) at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:250) at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:213) at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadClass(LayoutlibCallbackImpl.java:193) at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:333) at android.view.BridgeInflater.onCreateView(BridgeInflater.java:152) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785) at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222) at […]

如何在Android中添加XML中的标签?

我想写一些内容到一个XML文件。 为此,我创build了一个XML文件,并使用如下元素,属性和值来书写标签: XmlSerializer serializer = Xml.newSerializer(); serializer.startTag(null, element); serializer.attribute(null, atbname, value); serializer.text(text); serializer.endTag(null, tag); 如果我想添加一个带有新元素,新属性等的新标签,并且我在它之前的标签正在修改的标签的位置input元素。 我如何追加新的标签到之前添加的标签?

android将XML视图转换为位图而不显示它

我试图设置一个视图到我的地图集群。 我从一个XML膨胀的观点,并根据集群大小设置文本,我想显示该视图。 在下面的代码中,我得到一个空位图: private Bitmap createClusterBitmap(int clusterSize) { View cluster = LayoutInflater.from(context).inflate(R.layout.map_cluster, null); cluster.setText(String.valueOf(clusterSize)); cluster.setDrawingCacheEnabled(true); cluster.buildDrawingCache(true); Bitmap bm = cluster.getDrawingCache(); return bm; } 在下面的代码中我得到第四行(布局参数)的空指针: private Bitmap createClusterBitmap(int clusterSize) { View cluster = LayoutInflater.from(context).inflate(R.layout.map_cluster, null); TextView clusterSizeText = (TextView) cluster.findViewById(R.map.cluster); clusterSizeText.setText(String.valueOf(clusterSize)); Bitmap clusterBitmap = Bitmap.createBitmap( cluster.getLayoutParams().width, cluster.getLayoutParams().height, Bitmap.Config.ARGB_8888); Canvas clusterCanvas = new Canvas(clusterBitmap); cluster.layout(cluster.getLeft(), cluster.getTop(), cluster.getRight(), […]

如何以编程方式在android中的xml文件中引用<string>

我是新来的android编程,并想知道这一点: 我有3个在strings.xml文件中定义的string: <resources> <string name="one">First Click </string> <string name="two">Second Click </string> <string name="three">Third Click </string> <resources> 以及一个显示strings.xml文件中第一个string的文本视图。 当用户点击一个button时,我不想使用settext("******")来改变文本视图的文本。 我怎么能使textview切换到已经在strings.xml文件中定义的文本,从中说 首先点击第二次点击

呈现问题无法parsingresource @ id / search_edit_frame

呈现问题无法parsingresource @ id / search_edit_frame 这是我在我的XML文件中得到的渲染错误。 我认为这与我的support.v7.SearchView下面是我的XML: <RelativeLayout android:id="@+id/layout_ricerca" android:layout_width="match_parent" android:layout_height="50dp" android:background="@drawable/search_border_backgroud" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:layout_marginTop="20dp"> <android.support.v7.widget.SearchView android:id="@+id/testo_ricerca" android:layout_width="wrap_content" android:layout_height="wrap_content" android:queryHint="@string/search_hint" android:textSize="25sp" android:layout_marginStart="5dp" android:iconifiedByDefault="false"/> <ImageButton android:id="@+id/tasto_ricerca" android:background="@color/trans" android:layout_marginTop="2dp" android:layout_width="45dp" android:layout_height="match_parent" android:layout_marginEnd="3dp" android:scaleType="centerInside" android:layout_alignParentEnd="true" android:src="@drawable/tasto_ricerca"/> </RelativeLayout> 当我将<android.support.v7.widget.SearchView更改为<SearchView ,错误消失,但对我来说这不是一个好的解决scheme,因为我必须将所有的java代码更改为使用SearchView而不是android.support.v7.widget.SearchView 。 有谁知道如何解决这个问题? 为什么会发生? 我不认为我的XML有什么问题。 编辑: 添加了错误的屏幕截图

我如何可靠地从AttributeSet中获取颜色?

我想创build一个自定义的类,当在一个Android XML文件中进行布局时,它将一个颜色作为它的一个属性。 然而,一种颜色可能是一种资源,或者它可能是一些直接颜色规范之一(例如hex值)。 是否有一个简单的首选方法使用AttributeSet来检索颜色,因为表示颜色的整数可能引用资源值或ARGB值?

RecyclerView项目宽度layout_width =“match_parent”与父项不匹配

我正在使用RecyclerView,我正在尝试使RecyclerView match_parent的宽度项目,因为我正在使用 LinearLayoutManager.HORIZONTAL <android.support.v7.widget.RecyclerView android:id="@+id/listOffersHits" android:layout_width="match_parent" android:layout_height="match_parent" /> custom_layout.xml <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight="1" android:layout_margin="2dp" card_view:cardCornerRadius="2dp"> <ImageView android:id="@+id/offerImage" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/item_selector" android:scaleType="fitXY" android:src="@drawable/offer" /> </android.support.v7.widget.CardView> 布局pipe理 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL, false); listOffersHits.setLayoutManager(linearLayoutManager); ViewHolder View view= LayoutInflater.from(parent.getContext()) .inflate(R.layout.custom_layout, parent, false); ViewOffersHolder viewHolder=new ViewOffersHolder(view); return viewHolder;

在android中listview项的边框

我想要设置Edittext的边框和listview的项目,如图所示: 我的XML代码如下: <LinearLayout android:background="#BDD6E0" android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:background="#BDD6E0" android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Search" android:textColor="#000000" android:background="#FFFFFF" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/search_pat_edit" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="#000000" android:layout_weight="4"> </EditText> </LinearLayout> <LinearLayout android:background="#c0c0c0" android:layout_height="0dp" android:layout_width="match_parent" android:layout_weight="6" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FFFFFF" android:layout_weight="1" > </ListView> </LinearLayout> </LinearLayout> 我能做些什么来在ListView的项目中绘制边框?