Articles of android layout

Android中的垂直TextView

我正在尝试创build如下的内容。 通过使用LinearLayout和TableLayout。 但是我垂直文本。 在轮换之后,它占用的空间比它应该多。 这是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="match_parent" > <TextView android:id="@+id/tv_CONSEQUENCES" android:layout_width="wrap_content" android:layout_height="wrap_content" android:rotation="-90" android:text="CONSEQUENCES" android:textAppearance="?android:attr/textAppearanceLarge" /> <TableLayout android:layout_width="wrap_content" android:layout_height="match_parent" > <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </TableRow> […]

如何在保持纵横比的同时尽可能大地制作图像

我有一个比我想要的容器更小的图像。 我希望图像能够伸展,保持纵横比,尽可能最大。 为了说明这个问题: <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/thumbnail" android:scaleType="fitXY" android:adjustViewBounds="true"/> 上面的ImageView将被拉伸以填充容器的宽度。 它包含的@drawable也会沿x轴拉伸,以适应完美的ImageView的宽度。 然而,问题在于,标注为wrap_content的尺寸,在这种情况下是高度,与@drawable的初始高度保持相同的尺寸。 我已经阅读了有关ScaleType的文档, 在这里找不到答案。 下图描述了上面的代码: Current behaviour Desired Behaviour 编辑 给定scaleType="fitCenter"的ImageView将精确地展开/收缩其内部的@drawable ,以保持其纵横比尽可能大。 ImageView的尺寸是在以任何方式缩放@drawable之前定义的。 ImageView尺寸不受缩放包含@drawable 。

设备方向更改时,xml不会切换

我做了两个文件夹, res/layout和res/layout-land 我得到的输出 如果我以portrait模式启动应用程序,如果应用程序以portrait模式运行,它将始终使用layout文件夹中的xml。 如果我将设备更改为landscape模式,将不会在layout-land使用xml 如果以landscape模式启动,则只能在layout-land使用xml 当方向改变时,xml不会切换 我期望的是 它应该在纵向模式下使用layout文件夹中的xml,并在横向模式下使用layout-land中的xml 在Manifest文件中,我为活动添加了android:configChanges="orientation" <supports-screens android:resizeable="true" android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" /> 我在这里错过了什么吗? 我需要在这里做什么改变? 谢谢

Android渐变的形状边界

我想为linearLayout创build一个边框。 所以我决定创造一个形状。 我想边框有一个渐变。 以下是不是这样做。 它填充矩形,然后创build一个中风。 我不想要一个填充的矩形,只是中风。 我想将渐变应用于笔画。 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="360" android:centerColor="#e95a22" android:endColor="#ff00b5" android:gradientRadius="360" android:startColor="#006386" android:type="sweep" /> <stroke android:width="2dp" android:color="#ff207d94" /> </shape>

哪个文件夹放9png图片?

我们使用9png主要是为了减小apk的大小。 但是,我面临着一个奇怪的问题。 我不确定在哪个文件夹中放置9png。我已经把它们放在HDPI文件夹中。 由于Android是“聪明的”,看起来好像我在MDPI手机中使用该应用程序,它会“扩展”9png,从而产生疯狂的效果。 我没有面对任何重大问题,直到我在银河注意到它。 看起来像9png是从HDPI采取和缩放(注意有800×1280),它创造了奇怪的影响。 那么把9png放在哪个地方呢? 如何告诉Android系统不要根据放入的文件夹“缩放”9png?

Android:与垂直滚动文本的Textview

我正在寻找一个困难的时间设置垂直滚动文本的文本。 在我的对话框中,我有一个大文本的文本视图,因为对话框是小窗口我希望textview文本垂直滚动,使对话框看起来不错。 以下是我的xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FFFFFF" > <ImageView android:id="@+id/fbcancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:src="@drawable/fbcancel" /> <EditText android:id="@+id/fbedittext" android:layout_width="230dp" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/imageView1" android:layout_marginLeft="5dp" android:layout_marginTop="33dp" android:background="@drawable/roundcorners" android:ems="10" android:gravity="center" android:hint="@string/fbhint" android:lines="6" android:paddingRight="5dp" android:scrollHorizontally="true" /> <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="80dp" android:layout_height="250dp" android:layout_alignParentRight="true" android:layout_toRightOf="@+id/fbedittext" > <Spinner android:id="@+id/spinner" android:layout_width="50dp" android:layout_height="30dp" android:layout_alignLeft="@+id/fbshare" android:layout_alignRight="@+id/fbshare" android:layout_below="@+id/fbshare" android:layout_marginTop="16dp" android:drawSelectorOnTop="true" android:entries="@array/fblist" android:visibility="gone"/> <ImageView […]

如何在android中横向和纵向滚动表格布局

我在表格布局滚动完全困惑。 我必须实现水平和垂直滚动表。 我也看到表修复头示例,但tablefixheader示例已使用适配器来设置数据,但我需要表格布局中的添加视图方法。 我已经使用下面的代码,但它不能同时支持滚动 <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical" > <HorizontalScrollView android:layout_width="match_parent" android:layout_height="fill_parent" android:fadeScrollbars="false"> <TableLayout android:id="@+id/tableLayoutId" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </HorizontalScrollView> </ScrollView>

Android支持v4 SwipeRefreshLayout空视图问题

SwipeRefresh设置一个空视图的ListView这是SwipeRefresh布局的唯一的孩子之后不工作。 如何解决这个问题?

如何将光标定位在EditText的右侧

我的应用程序使用RTL语言 (从右到左)。 当EditText字段获得焦点时,光标出现在左侧,只有当用户开始键入时,光标(和RTL文本)才会右移。 当用户点击“Enter”开始新行时,光标再次向左移动。 当我使用android:gravity="right" ,光标是OK的(在右边),但是当用户开始input文本时总是移动到另一边(RTL文本左移)。 任何想法如何我可以alignment文本的权利,并保持文本的方向?

如何有一个不resize的全屏幕背景图像(与中心裁剪)

我正在设置一张照片作为一个Activity的背景。 我希望背景是全屏图像(无边框) 。 因为我想要图像填充整个活动的背景没有拉伸/挤压(即不成比例的X和Y比例),我不介意如果照片必须裁剪,我使用一个带有ImageView的RelativeLayout (与android:scaleType="centerCrop" )和其余的我的布局组成的ScrollView及其子。 <!– Tried this with a FrameLayout as well… –> <RelativeLayout> <!– Background –> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop"/> <!– Form –> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView> <LinearLayout> … <EditText/> </LinearLayout> </ScrollView> </LinearLayout> </RelativeLayout> 问题是布局的其余部分有一些EditText视图,当软键盘出现时,ImageView被重新resize。 我希望背景保持不变,不pipe软键盘是否可见。 我看到很多关于ImageViews被重新resize的问题 ,但是(imo)没有令人满意的答案。 他们大多数只是设置android:windowSoftInputMode="adjustPan" – 这并不总是实用的,特别是如果你想让用户能够滚动的活动 – 或使用getWindow().setBackgroundDrawable()不裁剪图像。 我设法子类ImageView和重写它的onMeasure() (请参阅我的答案在这里: ImageView调整键盘打开时 ),以便它可以强制固定的高度和宽度 – 等于设备的屏幕尺寸 – 根据标志,但我想知道是否有更好的方法来实现我想要的结果。 所以,总结一下,我的问题是: […]