Articles of 布局

Android:获取旋转的OSM地图来填充整个屏幕

我正在使用OpenStreetMap(OSM)API的应用程序在离线地图上显示各种兴趣点,这些地图由静态图块组成。 我目前正在执行的function之一是根据手机确定的方位(通过GPS)旋转地图。 我能够毫不费力地实现实际的旋转,但是由于我的代码旋转了整个canvas – 也许是一个相当天真的方法 – 我现在屏幕上没有加载新的瓷砖的空白angular落,以弥补事实旋转的瓷砖不再填充这些像素。 经过一番Googlesearch之后,我发现了一些关于如何解决这个问题的build议,但到目前为止还没有运气。 在罗曼·盖伊先生的一个职位上 ,他提到了以下几点: 我已经完成了这一点,它需要创build一个自定义ViewGroup,在dispatchDraw()方法中旋转canvas。 您还需要增加MapView的大小(以便在旋转时绘制足够的像素)。您还需要旋转dispatchTouchEvent()中的触摸事件。 或者,如果您使用Android 3.0,则可以简单地调用MapView.rotate() 就地图旋转的build议,我已经按照build议实现了dispatchDraw()和dispatchTouchEvent(),但是我提到我需要增加MapView的大小, 这是我在XML文件中做的事情,就像在这个线程中build议的那样? 或者,我可以以某种方式覆盖处理我的地图旋转的Subclassed RelativeLayout类中的onMeasure()函数? build议和提示是最受欢迎的。 更新: 为了find一个可以接受的解决scheme来解决这个问题,我试图改变canvas的大小。 这个想法是,在比实际的屏幕大小更大的canvas尺寸的情况下,我可能会将空白的angular落完全移出屏幕。 不幸的是,似乎没有实际的canvas.size()选项; 我发现最好的是canvas.scale()。 使用canvas.scale(),我可以在水平和垂直两个维度上将canvas的比例增加2倍。 然而,这意味着图像被有效地放大,导致地图瓦片不可接受的像素化。 有谁知道canvas的大小被声明在哪里,如果改变canvas的大小可能实际上解决了我的问题?

我怎样才能让`View`填充一个`RelativeLayout`?

我有一个RelativeLayout与它的一些东西,我想要一个背景视图来填充整个事情。 这是我期望的工作: <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#000" > <View android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" android:layout_margin="1px" android:background="#fafafa" /> <ImageView android:id="@+id/im" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:src="@drawable/ic_blank_profile" /> …. and so on. 这是行不通的。 它填充宽度,但高度设置为零。 但是,如果我将layout_alignParentBottom更改为layout_alignBottom="@+id/im"那么它确实有效(这不是一个令人满意的解决scheme,但至less它不再是0高度)。 这是怎么回事? 这是一个错误?

为什么Android xml布局文件不能识别ctrl +空格的内容?

我正在面临eclipse的问题,那就是当我使用Android xml布局文件来devise一个屏幕时,我尝试将属性添加到已经创build的元素。 我曾经键入属性的两个字母,然后点击Ctrl +空格,所以它会显示所有可用的属性通过智能感知列表。 现在它没有显示任何内容,而是在屏幕底部显示一条消息,如下图所示。 有人遇到问题解决了吗? 感谢您的帮助,因为这会减慢我的工作。

Android获取XML格式的屏幕大小

嘿,我有一个滚动视图从屏幕的顶部到屏幕底部之前,因为这是我的广告横幅发生的地方。 我想要在这些元素(button和横幅之间)之间的一些像素由于谷歌的政策。 到目前为止,我在dp中设置了一个值。 但是,由于设备不同,这导致广告和一些高分辨率手机上的滚动视图之间的巨大差距。 这就是为什么我想设置 <ScrollView android:layout_height="(Screen_height-banner)-5px" (当然,我甚至没有这样做,因为这不是代码,但是我认为我计划做的很好) 非常感谢你的回答!

Android:使用展开animation添加视图(不闪烁)

我想使用展开的animation为视图组添加视图,所以添加的视图开始非常小,并占用越来越多的空间,直到达到其全部大小(可能移动过程中的其他视图)。 尝试不同的方法后,我想出了下面的解决scheme。 投票,如果它可以帮助你或请张贴一个更好的select。 我相信肯定有一个更简单的方法来做到这一点。 欲了解更多信息,请参阅这个和这一个职位。 以下是我如何添加视图并开始animation: // Trick: set height to 1 so the view doesn't take its full size at the beginning. // (0 doesn't work, I don't know why) container.addView(view, LayoutParams.MATCH_PARENT, 1); Animation expansion = createExpansion(view); expansion.setDuration(200); view.startAnimation(expansion); createExpansion()方法: public static Animation createExpansion(View view) { return new SizedHeightScaleAnimation(view, 0, 1, Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, […]

如何将多个项目放在ListView的同一行上?

我有一个链接到自定义适配器项目的ArrayList。 这些项目按字母顺序排列。 我希望我的ListView在ListView的每一行上最多有四个项目,而且这些行按字母顺序分隔。 例如: [你好] [医院] [酒店] [热点] [ 屋 ] [不可能] [不可能] 所以多个项目将在ListView的同一行上。 有没有一种方法可以使用自定义Adapter类的getView()方法中的位置variables来实现这一点? 这是一个例子,对质量抱歉: 在图像中,后备存储(如ArrayList)将包含按字母顺序排列的名称。

Challange:ViewPager的自定义animation。 更改所选元素的高度(查看倍数)

我目前正在ViewPager中切换页面之间的自定义animation。 当我向左滑动时,View正在向左移动,并从其下方看到新的View正在前方。 我想提出一个观点,那就是左边的(我处理的)像下面的图像那样缩小: 在第二和第三张照片上,我没有看到前面的新视图,但是我认为没有必要。 你有什么想法如何修改代码? 我想改变TableLayout,RelativeLayout和FrameLayout的高度,并保持两个TextViews的高度。 此外,我将不得不改变整个视图的X位置。 我期待着您的创意答案(代码)。 下面我附上我的animation代码。 import android.view.View; import android.widget.RelativeLayout; import android.annotation.SuppressLint; import android.support.v4.view.ViewPager.PageTransformer; public class DepthPageTransformer implements PageTransformer { private static float MIN_SCALE = 0.75f; @SuppressLint("NewApi") public void transformPage(View view, float position) { int pageWidth = view.getWidth(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to […]

从main.xml布局切换到另一个布局

我在这里有一个基本的Android问题: 我有一个main.xml布局,加载时,应用程序启动。 这个页面有一个菜单button,我想(点击时)将用户发送到另一个布局(about.xml)。 我怀疑这是对的。 当点击这个命令踢: setContentView(R.layout.about); 它似乎工作,我看到about.xml页面,但我不能导航回到main.xml布局,当我点击我的Android设备上的返回button,应用程序刚刚closures。 我怀疑这是在XML布局文件之间导航的正确方法。 你可以请帮助或指向一个页面,拼出一个像我这样的电脑程序员初学者? 非常感谢你, 拍 编辑:感谢您的帮助指出我在正确的方向的所有答案。 为了帮助像我这样的未来的noob程序员理解活动,这里有一个非常简单的教程,我在网上find它,为我们初学者绘制出来! http://www.warriorpoint.com/blog/2009/05/24/android-how-to-switch-between-activities/

Android中的AdMob定位问题

我的应用程序与AdMob广告集成在一起。 当我改变方向时,应该根据方向适合屏幕。 纵向模式下工作正常,但是当我更改为横向模式时,纵向模式下的广告尺寸与横向模式下显示的广告尺寸相同。 我在布局页面中添加以下内容。 <com.admob.android.ads.AdView android:id="@+id/ad" android:layout_width="fill_parent" android:layout_height="wrap_content" myapp:backgroundColor="#000000" myapp:primaryTextColor="#FFFFFF" myapp:secondaryTextColor="#CCCCCC" />

Z在xml的android命令

有人可以给我一个关于Z顺序的很好的解释。 首先,我不明白它是什么,(像定义一样),其次是一个Z顺序的元素是怎样的。 我希望我很明确。