Articles of 布局

当我重复使用多次时,如何访问布局中的视图?

我已经阅读了Android开发人员的Android UI技巧2,它告诉人们如何多次在另一个布局文件中包含布局,并为这些包含的布局提供不同的ID。 但是,这里的示例覆盖了布局ID,而不是此布局中视图的ID。 例如,如果workspace_screen.xml如下所示: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:id="@+id/firstText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="first"/> <TextView android:id="@+id/secondText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="second"/> 而且我将它包含在另一个布局文件中三次。 我最终得到三个TextViews与id firstText和另外三个与secondText? 是不是有一个ID冲突? 我怎么findfindViewById第三包括布局的第二TextText? 我应该在findViewById方法中input什么?

如何为Android项目创build新的布局(使用Eclipse)

我觉得这是一个相当直接的问题,但经过一番search,我还没有find答案。 我是Android开发新手。 我正在使用Eclipse并安装了ADT。 我只是想知道IDE是否有一个function,可以让我轻松地添加一个新的布局文件到我的项目。 目前我手动添加一个文件到项目中,并调用它像mynewlayout.xml,然后手动从默认布局(添加到新的Android项目)复制XML。 我想知道是否可以通过IDE创build一个新的布局,就像创build一个新的活动一样(通过selectAndroidManifest.xml并selectApplication选项卡)。 谢谢

Android Studio:parsingXML&URI错误未注册

在我的项目中添加一个新的活动后,编译布局时出现以下错误 Gradle:parsingXML错误:格式不正确(无效标记) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv_password" android:text="<password>"/> </LinearLayout> “ http://schemas.android.com/apk/res/android ”被标记为红色并且在消息之后hoverpopup URI未注册(设置|项目设置|模式和DTD) 我的设置>项目设置>模式和DTD看起来像这样: 我已经在这里发现了一些类似的问题,但没有什么帮助我解决这个问题。 我希望有人有一个想法… 🙂

在RelativeLayout中以编程方式将属性AlignParentRight设置为button不起作用?

我尝试以编程方式将属性AlignParentRight设置为RelativeLayout中的button,但程序崩溃与NullPointerException。 在这里我的代码: //add horizontal realative layout RelativeLayout layouth = new RelativeLayout(this); layouth.setLayoutParams(new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); //add textview for label TextView t = new TextView(this); t.setText(d.getName()); t.setTextSize(25); t.setId(2); t.setLayoutParams(new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); //add button Button b = new Button(this); b.setText(d.getName()); RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)b.getLayoutParams(); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); layoutParams.addRule(RelativeLayout.LEFT_OF, 2); b.setLayoutParams(layoutParams); //add textview and button to horizontal linear layout layouth.addView(t); […]

Android:如何更改ProgressBar的高度?

我想知道什么是最简单的方法来改变Android的ProgressBar的高度? 谢谢, 托梅克

有没有一个好的工具来做Android布局devise?

我已经尝试过DroidDraw和Eclipse布局编辑器,两者似乎都非常难以创build非简单布局以外的任何东西。 我发现自己回到了XML文件,以便能够操纵它。 有没有人find任何好的工具来devise实际的屏幕? 我不是在寻找一个模拟工具,而是一个创buildXML布局的实际工具。 更新: 2.3新的Eclipsedevise更好,但老实说,我认为这将是更进一步。 我不介意在必要的时候下降到XML,但似乎是时候在这个空间里找一些好的devise工具了。

如何使一个线性布局填充相关布局的剩余空间?

我有一个有三个线性布局的相关布局作为孩子。 最后一个有固定的高度,android:layout_alignParentBottom设置为“true”。 中间的一个在第一个下方的位置正好,而它的下方则与第三个重叠。 怎么了? 谢谢 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/category" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_alignParentTop="true" android:orientation="horizontal" > <ImageView android:id="@+id/back_btn" android:layout_width="29dp" android:layout_height="34dp" android:layout_gravity="center_vertical" android:src="@drawable/red_arrow_left" /> <TextView android:id="@+id/cat_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:gravity="center" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/category" android:layout_marginTop="10dp" android:orientation="horizontal" > <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/white" android:cacheColorHint="@android:color/white" /> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/white" […]

如何将整型标签设置为xml布局文件中的一个小部件?

我有简单的布局,但我只能设置string标记。 如何设置整数标记? <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:tag="1" android:src="@drawable/image" /> UPDATE 我发现如何在xml布局中设置Integer标签。 我们需要在任何xml资源文件中指定一个整型variables。 这应该是这样的: RES /值/ value.xml: <?xml version="1.0" encoding="UTF-8"?> <resources> <integer name="int1">15</integer> <integer name="int2">1</integer> </resources> 现在我们可以自由使用“@ integer / int1”或“@ integer / int2”作为XML部件的标签,例如: <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:tag="@integer/int2" android:src="@drawable/image" /> 但是,在我的情况下,我喜欢以编程方式设置标签:)

在Android中获取屏幕高度

我怎样才能在Android中获得屏幕的可用高度? 我需要的高度减去状态栏/菜单栏或任何其他可能在屏幕上的装饰,我需要它适用于所有设备。 另外,我需要知道onCreate函数。 我知道这个问题已经被问过,但我已经尝试过他们的解决scheme,没有一个工作。 以下是我尝试过的一些事情: 我已经在API 7 – 17上testing了这个代码。不幸的是,在API 13上,水平和垂直底部都有额外的空间,API 10,8和7底部没有足够的空间。 (我没有testing过时的API): Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics metrics = new DisplayMetrics(); display.getMetrics(metrics); screenWidth = metrics.widthPixels; screenHeight = metrics.heightPixels; TypedValue tv = new TypedValue(); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) screenHeight -= TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics()); } int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) […]

Androiddevise支持TabLayout重叠的内容

我正在使用devise支持库中引入的新TabLayout。 我有这样的代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent"> <android.support.design.widget.CoordinatorLayout android:id="@+id/lines_coordinator" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:elevation="4dp"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.design.widget.CoordinatorLayout> </LinearLayout> 问题是,选项卡重叠片段显示的内容的顶部。 我怎样才能解决这个问题? 我在Github上的例子中使用TabLayout,所以我相信我的代码没有问题。 我已经有一个工具栏,因为我使用导航抽屉中的片段中的标签,所以我从AppBarLayout中删除它。