Articles of android layout

RelativeLayout重力不适用?

我有一个与以下布局的活动: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/testlayoutOverlays" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/testlayoutMain" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <RelativeLayout android:id="@+id/testlayout_bottom" android:layout_width="fill_parent" android:layout_height="62dp" android:background="#122334" > <ImageView android:id="@+id/testbtnBlock" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignParentLeft="true" android:layout_gravity="left|center_vertical" android:contentDescription="Test1" android:padding="@dimen/padding_medium" android:src="@drawable/btnblock" /> <TextView android:id="@+id/testtxtZoomPan" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/testbtnX" android:layout_toRightOf="@+id/testbtnBlock" android:gravity="center_horizontal" android:text="@string/txtZoomPan" android:textColor="#FFFFFF" /> <ImageView android:id="@+id/testbtnX" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignParentRight="true" android:layout_gravity="right|center_vertical" android:contentDescription="Test2" android:padding="@dimen/padding_medium" android:src="@drawable/btnx" /> </RelativeLayout> <LinearLayout […]

什么时候应该在片段中获得宽度视图

我在LinearLayout中以编程方式添加View(button).LinearLayout由Fragment中的XML进行布置。 我想获得button的宽度,但总是返回0。 我GOOGLE了这个问题, getWidth只能在WindowFocusChanged上工作。 public void onWindowFocusChanged(boolean hasFocus) { } 但是Fragment没有这个方法。 如何获得在片段中的查看宽度?

如何使用Android GridView设置等间距?

如何设置剩下的空间被平分? 例如,我有一个2列的GridView。 整个宽度是700px,列是200px:如何指定xml,所以剩余的空间(300px)被均匀分成3个部分? 即100px | 200px(第1列)| 100px | 200px(第2列)| 100px的

如何为包含的布局设置重量?

我有两个XML文件,如下所示的页眉和页脚 header.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:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#9d1246" > <Button android:id="@+id/button_backfromreg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:background="@drawable/backbtn" android:visibility="visible" /> </LinearLayout> </LinearLayout> footer.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:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#9d1246" > </LinearLayout> </LinearLayout> 如上所示,我在mainlayout中包含了上述两个布局 <?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="match_parent" android:background="#eaedf2" android:orientation="vertical" […]

Android不会从值文件夹中选取正确的dimens.xml文件

我创build了不同的dimens.xml文件,并将它们放在适当的值文件夹中。 我定义了以下“值”文件夹 值,值 – 大,值 – 正常,值 – 小,值 – sw320dp,值 – sw320dp-land,值 – sw480dp,值 – sw600dp,值 – sw720dp和值 – sw720dp-land 问题是当我在手机上安装应用程序<= 5英寸时,来自values-sw320dp的dimens.xml被Android选中。 select与屏幕密度无关。 我已经testing了S4,Moto G,S4 Mini和2.3的设备上的应用程序。 结果始终如一。 我在这里做错了什么?

如何完全防止滚动TextView?

我有一个TextView与大量的文字。 这个TextView具有maxLines设置,所以它只显示前8行左右。 我也有一个“阅读更多”button,所以我自己处理扩展TextView。 我的问题是,有时TextView会滚动一点(一次只有一行),即使我从来没有指定任何滚动条。 这个问题变得更糟,因为TextView是在一个ListView里面的,所以当用户滚动ListView的时候,TextView有时会滚动一下,就像这样: 如何防止TextView滚动?

标题中有两行的Android工具栏?

我想有一个双高度的操作栏(如在材料指南的例子),但(可能)标题中的两行文字。 我使用的标题是dynamic的,取决于页面中显示的项目。 如果有一行,它应该看起来像一个正常的操作栏,如果有两行,那么文本应该打破,并下降到一个新的行。 无论是否有一两行,操作button都应该保持与文本的第一行alignment。 我读到工具栏是做动作条的新dynamic方式,所以我想这可能是要走的路(我知道那里有答案,让你覆盖旧的行动栏标题文本视图,使其2行,但看起来不像我要去的)。 我正在使用Android 4.4+,所以我需要使用工具栏的appcompat v7库。 我发现在标题textview被限制为只有一行代码( https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v7/appcompat/src/android /support/v7/widget/Toolbar.java – 包含代码mTitleTextView.setSingleLine(); )。 然后我想,因为下面有一行字幕,我们可以改变这个文本的格式,我可以把它和标题文本一样格式化,如果需要的话,把我的标题分成两部分。 我写了一些基本的代码来分割string,但它依靠能够告诉我是否需要拆分它 – 实际上,我发现toolbar.isTitleTruncated()总是返回false(从我的工具栏对象直接访问和从getSupportActionBar().isTitleTruncated() )。 我在这里尝试了在Toolbar包装TextView的答案,但是当我这样做时,我无法使TextView与工具栏动作buttonalignment。 如果我正确地alignment一行(使用顶部填充),那么对于双行是错误的,反之亦然。 这是我的代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/view_content" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:id="@+id/fragment_pager" android:name="com.example.ProductPagerFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.v7.widget.Toolbar android:id="@+id/product_details_toolbar" style="@style/style.toolbar" android:layout_width="match_parent" android:layout_height="@dimen/double_height_toolbar" android:minHeight="?attr/actionBarSize" android:gravity="top" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > <TextView android:id="@+id/product_details_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="top" android:paddingTop="@dimen/padding_normal" style="@android:style/TextAppearance.Holo.Widget.ActionBar.Title.Inverse" android:maxLines="2" /> </android.support.v7.widget.Toolbar> 有没有人有任何想法? […]

在XML中设置工具栏徽标

是否有可能在XML中设置工具栏的标志? 到目前为止,我已经尝试过: 1。 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" … android:logo="@drawable/my_logo" /> 2。 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" … app:logo="@drawable/my_logo" /> 编辑 我在我的AppCompatActivity中使用工具栏作为操作栏: setSupportActionBar(findViewById(R.id.toolbar)); 我可以从代码设置标志: ((Toolbar) findViewById(R.id.toolbar)).setLogo(R.drawable.my_logo); 但我想要从布局XML或风格/主题XML设置标志。

如何使可变高度CardViews的网格布局?

我有多个CardView在XML中定义为: <android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" card_view:cardPreventCornerOverlap="false" card_view:cardCornerRadius="4dp"> <LinearLayout android:layout_width="wrap_content" android:orientation="vertical" android:layout_height="wrap_content"> <TextView android:textSize="@dimen/abc_text_size_title_material" android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </android.support.v7.widget.CardView> 对于手机,我已经在一个垂直的LinearLayout包装了多个CardView : <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > 对于平板电脑,我想使用网格布局,类似于材料devise规格中使用的devise ,请参阅图像。 什么是最好的ViewGroup用来做网格布局? 卡片高度可变,并且具有静态内容。 GridLayout不能使用,因为这些卡的高度是可变的。

Android:布局animation像Inshorts新闻应用程序

像新闻应用程序一样上下刷新效果, 加息消息 , 低语 。 整体布局顺利上/下。 检查应用程序在这个链接inshorts和杂音 。 我试过这个代码… public class VerticalViewPager extends ViewPager { public VerticalViewPager(Context context) { super(context); init(); } public VerticalViewPager(Context context, AttributeSet attrs) { super(context, attrs); init(); } private void init() { // The majority of the magic happens here setPageTransformer(true, new VerticalPageTransformer()); // The easiest way to get rid of […]