Articles of android inflate

是否可以截取一个视​​图,而不显示视图?

简短的问题: 假设我有某种布局文件,并且膨胀它(或者在代码中使用普通的CTOR)。 我不希望显示膨胀的视图,而是希望在某些限制(给定的宽度和高度,甚至比屏幕更大的限制)下看起来像是“截图”(位图)。 我不希望将视图添加到屏幕上的任何地方,但只是为了这个目的而保留它,也许以后再添加它。 这样的事情可以用来轻松操纵如何放置东西。 例如,我可以使用一个图像放置在其中的布局,以便它周围有一个框架。 这样的事情可能吗? 如果是这样,怎么样?

有效地创build一个LayoutInflater

我的问题是创build一个LayoutInflater实例的最佳方式是什么? 有什么区别吗? LayoutInflater inflater = LayoutInflater.from(context); 和 LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 哪个更好的解决scheme? 其他解决scheme也受到欢迎。 谢谢。

layoutinflator有什么用途?

我是一名新的Android开发人员。 我试图从文档中理解布局充气机的使用,但一直无法理解。 在android中有什么布局的充气机的使用? 什么情况下,人们将不得不使用它?

有人可以解释膨胀的方法吗? 更深入地了解Android视图

我想深入了解Android的工作原理,我需要一个人来解释一下Views是如何“底层”工作的。 在正常的过程中,我们将使用方法“setContentView(R.layout.ourlayoutfile)”在扩展的Activity的onCreate方法中从XML中扩展(这是正确的单词? 然后,我们将从该XML中find视图。 快速示例:如果我们需要find一个button,我们需要先调用“setContentVIew()”,然后在我们的button上find“findViewById”。 然后我们可以分别使用这个button/视图。 最近我开始使用LayoutInflater,因为我遇到了“setContentView”方法让我无法自拔的问题,而且我惊奇地发现我的Android知识非常好。 我甚至无法pipe理LayoutInflater的工作。 我很尴尬。 一天之后,我设法使用LayoutInflater来扩充视图。 其实这不是很难,我已经从一开始就非常接近,但有一个参数,我不知道通过什么。请看这个代码:(这一切都发生在Activity的onCreate方法) View v = getLayoutInflater().inflate(R.layout.activity_main, (ViewGroup) getWindow().getDecorView()); final Button b = (Button) v.findViewById(R.id.button1); final TextView tv = (TextView) v.findViewById(R.id.textView1); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv.setText("Just random text"); } }); } 这段代码工作正常,但我遇到的问题实际上是这行代码: getLayoutInflater().inflate(R.layout.activity_main, null); 我总是通过“空”参数,当然它没有奏效。 即使在文档中,它说这个参数是可选的! (为什么?如果需要的话)? 我做了简单的布局。 请看看它和HiearchyViewer的外观: 上图中的第二个参数是什么,为什么我们在那里需要它? 也许连接我的布局(R.layout.activity_main),由Android提供的视图(从左到右的第一个视图 – 父视图)。 […]

浮动操作button和devise库膨胀错误

我正在使用devise支持库 defaultConfig { vectorDrawables.useSupportLibrary = true … } dependencies { compile 'com.android.support:design:23.4.0' compile 'com.android.support:support-v4:23.4.0' … } 当我添加FloatingActionButton <android.support.design.widget.FloatingActionButton android:layout_gravity="right" android:layout_margin="20dp" android:tint="#fff" android:src="@drawable/ic_menu_manage" app:backgroundTint="#b3000000" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 到我的布局之一,我得到这个错误 Caused by: java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme (or descendant) with the design library. 这是我的主要活动( it has navigation drawer ) public class MapNavActivity extends AppCompatActivity 我知道它应该工作,如果我将AppCompatActivity更改为Activity […]

它膨胀的观点没有保证金

我有这个代码 View item = View.inflate(context, R.layout.item_layout, null); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); layout.addView(item, params); 我的item_layout :(注意部分android:layout_marginTop =“2dip”) <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_marginTop="2dip" android:layout_width="fill_parent"> <ImageView android:src="@drawable/pic_unknown" android:id="@+id/image1" android:layout_height="50dip" android:layout_width="50dip" android:padding="5dip"></ImageView> </RelativeLayout> 然后在我的布局中,我看到膨胀的物品清单,但在他们之间没有余量。 我试图用margintop = 10dip仍然没有发生我的观点是,我把它放在布局的价值是不带边缘的计算带有顶部的布局是一样的。 如何在项目之间添加一些空的空间? 我怎样才能在物品之间充满空的空间? 是否有可能膨胀像差距或一些空间的东西? 或者我必须使用像2dip高度或什么的东西膨胀一些空布局的解决方法谢谢

在另一个布局中以编程方式膨胀布局

我需要帮助我的Android应用程序。 我需要在另一个布局中膨胀布局,我不知道我是怎么做的。 我的XML代码是这样的: item.xml – 我需要膨胀多个XML(取决于一个variables的数量) <RelativeLayout android:id="@+id/cartel_N1" android:layout_width="150dp" android:layout_height="match_parent" android:background="@color/tabhost_background_pressed" android:layout_marginRight="22dp" android:orientation="vertical" > <ImageView android:id="@+id/img_N1" android:layout_width="120dp" android:layout_height="120dp" android:layout_marginLeft="15dp" android:layout_marginTop="15dp" android:layout_marginRight="15dp" android:src="@drawable/mcdonalds_icon" /> <TextView android:id="@+id/title_N1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="McDonals del CC Alcampo" android:layout_marginBottom="10dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:textSize="15sp" /> <TextView android:id="@+id/categoria_N1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="CATEGORIA" android:textSize="16sp" android:textStyle="bold" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" /> <RelativeLayout android:id="@+id/stars_and_distance_N1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView […]

如何在一个膨胀的布局中使用相同的id膨胀多个布局的实例

我有一个LinearLayout与许多嵌套的LinearLayouts和TextViewss 我的主要活动膨胀主要LinearLayout, 然后我从服务器加载数据,并根据收到的数据,我添加了一个占位符(LinearLayout)的多个布局, 这是一个简单的新闻页面,我加载与新闻相关的图像,并将其放置在最初的空LinearLayout。 每个图像都有以下信息:标题(TextView),date(TextView),图像(ImageView),所以我实际上做的是以下内容: * 请注意,这只是在我提到的所有尝试 – >抓住… if / else ….等问题的基本编码 public void addImages(JSONArray images){ ViewGroup vg = (ViewGroup) findViewById(R.id.imagesPlaceHolder); // loop on images for(int i =0;i<images.length;i++){ View v = getLayoutInflater().inflate(R.layout.image_preview,vg); // then I think that here is the problem ImageView imv = (ImageView) v.findViewById(R.id.imagePreview); TextView dt = (TextView) v.findViewById(R.id.dateHolder); TextView ttl = […]

Android +带有自定义视图层次结构的ListFragment

我试图通过从onCreateView(LayoutInflater, ViewGroup, Bundle)返回我自己的视图层次来定制片段布局。 这膨胀了我的自定义视图,但似乎堆叠的意见,而不是在内部膨胀,我看到了一切。 任何帮助表示赞赏。 MyActivity.java: public class MyActivity extends FragmentActivity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) { ArrayListFragment list = new ArrayListFragment(); getSupportFragmentManager().beginTransaction().add(android.R.id.content, list).commit(); } } public static class ArrayListFragment extends ListFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { inflater.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.main, container); return super.onCreateView(inflater, container, […]

InflateException:二进制XML文件行#1:由于OutOfMemoryError引起的类错误

这是我的代码: input.xml (布局文件夹) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:background="@drawable/background_main" > <ImageView android:id="@+id/logo_image" android:background="@drawable/background_green" android:src="@drawable/titleimage" android:layout_width="match_parent" android:layout_height="50dp" /> <ScrollView android:id="@+id/scroller" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/logo_image" android:layout_marginTop="10dp" > <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:stretchColumns="*" > <TableRow android:id="@+id/device_type_row" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="5dp" android:paddingBottom="5dp" android:layout_marginRight="5dp" > <RadioButton android:id="@+id/device_type_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/device_type" /> <RadioGroup android:id="@+id/device_type_radio_selection" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/radioIos" android:layout_width="wrap_content" android:layout_height = […]