Questions tagged «android-layout»

布局定义了用户界面的视觉结构,例如活动,片段或应用程序小部件的UI。


7
如何在Android中从Java端将android:gravity设置为TextView
我可以android:gravity="bottom|center_horizontal"在textview的xml 中使用以获得所需的结果,但是我需要以编程方式进行此操作。我的textview在a内tablerow是否重要relativelayout。 我努力了: LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL); labelTV.setLayoutParams(layoutParams); 但是,如果我理解正确,那可以将其应用于tablerow,而不是textview吗?

21
GridLayout(不是GridView)如何均匀拉伸所有子级
我想要一个2x2的网格,里面有一个按钮。这只是ICS,所以我尝试使用给定的新GridLayout。 这是我的布局的XML: <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/favorites_grid" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00ff00" android:rowCount="2" android:columnCount="2"> <Button android:text="Cell 0" android:layout_row="0" android:layout_column="0" android:textSize="14dip" /> <Button android:text="Cell 1" android:layout_row="0" android:layout_column="1" android:textSize="14dip" /> <Button android:text="Cell 2" android:layout_row="1" android:layout_column="0" android:textSize="14dip" /> <Button android:text="Cell 3" android:layout_row="1" android:layout_column="1" android:textSize="14dip" /> </GridLayout> 问题是我的视图对每一行的伸展不均匀。这在我的GridLayout的右边导致了很多额外的空间。 我尝试设置,layout_gravity="fill_horizontal"但这仅适用于该行的最后一个视图。这意味着单元1一直伸展到为单元0提供足够的空间。 关于如何解决这个问题的想法?


8
您如何知道何时绘制布局?
我有一个自定义视图,可在屏幕上绘制可滚动的位图。为了初始化它,我需要传入父布局对象的像素大小。但是在onCreate和onResume函数期间,尚未绘制布局,因此layout.getMeasuredHeight()返回0。 解决方法是,我添加了一个处理程序,等待一秒钟,然后进行测量。这行得通,但是草率,而且我不知道在绘制布局之前我可以减少多少时间。 我想知道的是,如何确定何时绘制布局?是否有事件或回调?


6
如何在ConstraintLayout中将元素居中
我正在ConstraintLayout应用程序中进行布局。我想一个创建屏幕wheren一个EditText,并Button应在中心和Button应低于EditText与marginTop只16DP。 这是我的布局和屏幕截图,目前情况如何。 activity_authenticate_content.xml <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" tools:context="com.icici.iciciappathon.login.AuthenticationActivity"> <android.support.design.widget.TextInputLayout android:id="@+id/client_id_input_layout" android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"> <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/login_client_id" android:inputType="textEmailAddress" /> </android.support.design.widget.TextInputLayout> <android.support.v7.widget.AppCompatButton android:id="@+id/authenticate" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="@string/login_auth" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="@id/client_id_input_layout" app:layout_constraintRight_toRightOf="@id/client_id_input_layout" app:layout_constraintTop_toTopOf="@id/client_id_input_layout" /> </android.support.constraint.ConstraintLayout>

9
ellipsize在Android中是什么意思?
我在EditText布局中添加了一个,并添加了一个提示,使其水平居中。 运行应用程序时,提示不可见。我发现我应该将的ellipsize价值TextView设为start: <EditText android:id="@+id/number1EditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="start" android:ems="10" android:gravity="center_horizontal" android:hint="@string/hint1" /> 在Android文档中,我读到: 如果设置,则导致长于视图宽的单词被 省略,而不是在中间断开。 问题是ellipsize在字典中找不到。有人可以向我解释我们可以通过ellipsize属性获得什么好处吗?和之间有什么区别start,end,middle?

9
设置Android布局元素的背景色
我正在尝试克隆某种活动的设计 从Android UI设计的一组幻灯片中设计。但是我有一个非常简单的任务的问题。 我已经创建了如图所示的布局,并且标题是TextView一个RelativeLayout。现在,我想更改的背景颜色RelativeLayout,但是似乎无法弄清楚该怎么做。 我知道可以在XML文件android:background的RelativeLayout标记中设置属性,但是该将其设置为什么呢?我想定义一种可以在多个地方使用的新颜色。是a drawable还是a string? 另外,我希望从Eclipse Android UI设计器中找到一种非常简单的方法,我一定会错过这种方法吗? 我目前有点沮丧,因为这应该是一次最多点击几下就可以进行的一项活动。因此,非常感谢您的帮助。:)

4
如何使用复合可绘制对象而不是包含ImageView和TextView的LinearLayout
针对我的代码运行新的Lint工具。它提出了很多好的建议,但是我不明白这一点。 此标签及其子标签可以替换为一个和一个可绘制的复合标签 问题:检查当前节点是否可以使用复合drawables替换为TextView。 包含ImageView和TextView的LinearLayout可以作为复合可绘制对象更有效地处理 这是我的布局 <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_centerInParent="true"> <ImageView android:id="@+id/upImage" android:layout_width="20dp" android:layout_height="20dp" android:layout_gravity="center_vertical" android:scaleType="centerInside" android:src="@drawable/up_count_big"> </ImageView> <TextView android:id="@+id/LikeCount" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="2dp" android:layout_marginBottom="1dp" android:textColor="@color/gray" android:textSize="16sp" android:layout_gravity="center_vertical"> </TextView> </LinearLayout> 有人可以提供在这种情况下如何制作复合画的具体示例吗?

2
Android:如何为LinearLayout绘制边框
我有三个文件。XML,绘图功能和主要活动。LinearLayout我的XML文件中有一些。 <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#ef3" android:id="@+id/img01"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#E8A2B4" android:id="@+id/img02"/> </LinearLayout> 这是绘制函数: public class getBorder extends TextView { public getBorder(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); paint.setColor(android.graphics.Color.RED); canvas.drawLine(0, 0, this.getWidth() - 1, …

6
如何使用不同的片段/布局实现ViewPager
当我启动实现viewpager的活动时,viewpager会创建各种片段。我想为每个片段使用不同的布局,但是问题是viewpager最多只显示两个布局(1之后所有其余片段的第二个布局)。 这是SwipeActivity的代码,该代码实现了viewpager: public class SwipeActivity extends FragmentActivity { MyPageAdapter pageAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_swipe); pageAdapter = new MyPageAdapter(getSupportFragmentManager()); ViewPager pager=(ViewPager)findViewById(R.id.pager); pager.setAdapter(pageAdapter); ActionBar bar = getActionBar(); bar.setDisplayHomeAsUpEnabled(true); } /** * Custom Page adapter */ private class MyPageAdapter extends FragmentPagerAdapter { public MyPageAdapter(FragmentManager fm) { super(fm); } @Override …

8
Android Paint:.measureText()与.getTextBounds()
我正在使用来测量文本Paint.getTextBounds(),因为我有兴趣获取要渲染的文本的高度和宽度。但是,实际呈现的文本始终比填充.width()的Rect信息的宽度稍宽getTextBounds()。 令我惊讶的是,我测试了.measureText(),发现它返回了一个不同的值(更高)。我尝试了一下,发现它是正确的。 他们为什么报告不同的宽度?如何正确获取高度和宽度?我的意思是,我可以使用.measureText(),但是我不知道是否应该信任.height()返回的getTextBounds()。 根据要求,以下是用于重现此问题的最少代码: final String someText = "Hello. I believe I'm some text!"; Paint p = new Paint(); Rect bounds = new Rect(); for (float f = 10; f < 40; f += 1f) { p.setTextSize(f); p.getTextBounds(someText, 0, someText.length(), bounds); Log.d("Test", String.format( "Size %f, measureText %f, getTextBounds %d", f, …

13
对Android Lollipop CardView的波纹效果
我试图让CardView时,通过设置在Android触摸显示连锁反应:活动XML文件中backgound属性描述这里 Android开发者页面上,但它不工作。完全没有动画,但是会调用onClick中的方法。我也尝试过按照这里的建议创建一个ripple.xml文件,但结果相同。 出现在活动XML文件中的CardView: <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="155dp" android:layout_height="230dp" android:elevation="4dp" android:translationZ="5dp" android:clickable="true" android:focusable="true" android:focusableInTouchMode="true" android:onClick="showNotices" android:background="?android:attr/selectableItemBackground" android:id="@+id/notices_card" card_view:cardCornerRadius="2dp"> </android.support.v7.widget.CardView> 我是android开发的新手,所以我可能犯了一些明显的错误。 提前致谢。

12
如何使用View使布局填充剩余空间?
我正在设计我的应用程序UI。我需要这样的布局: (<和>是按钮)。问题是,我不知道如何确保TextView会用两个具有固定大小的按钮填充剩余空间。 如果我在文本视图中使用fill_parent,则无法显示第二个按钮(>)。 如何制作看起来像图像的布局?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.