Articles of android layout

如何在WebView中添加填充

我的布局文件定义了一个WebView,在其下面有一些固定的高度button。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fadingEdge="none"> <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1.0"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="60dp" android:padding="8dp"> <Button android:text="Decline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0"> </Button> <Button android:text="Accept" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0"> </Button> </LinearLayout> </LinearLayout> 我正在尝试在WebView周围添加填充,因为此时文本正好运行到UI的边缘。 我试图向WebView添加android:padding="8dp" ,但没有添加填充。 我也尝试了paddingLeft和paddingRight,但他们也没有工作。 WebView API文档确认它inheritance自View,它支持android:padding属性,所以我很惊讶这没有奏效。 有没有人知道这是一个已知的问题,还是我不明白的布局XML的一些相互作用? 仅供参考,我的解决方法是在WebView周围放置一个额外的LinearLayout,并向其中添加填充: <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1.0" android:padding="8dp"> <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout>

Android – 是否有可能直接在层列表XML定义内声明一个alpha蒙版?

一个新手问题 我有这个我用作ImageView的源的layers.xml。 和两个图像,mask.png和image.jpg layers.xml: <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/image" android:gravity="center"/> </item> <item> <bitmap android:src="@drawable/mask" android:gravity="center"/> </item> </layer-list> ImageView的: <ImageView android:id="@+id/img_B" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/layers"/> 目前的输出只是图像上的png。 我想PNG作为一个面具,使用png alpha通道剪辑图像,如下所示: 这是可能的直接在XML中,或者我必须做的代码? 谢谢你的build议 ;) 更新:目前我已经实现了使用代码replace整个ImageView的目标 ImageView img = (ImageView) findViewById(imgID); Canvas canvas = new Canvas(); Bitmap mainImage = BitmapFactory.decodeResource(getResources(), R.drawable.img); Bitmap mask = BitmapFactory.decodeResource(getResources(), R.drawable.mask); Bitmap result = Bitmap.createBitmap(mainImage.getWidth(), mainImage.getHeight(), […]

显示一个PopupWindow集中

我的应用程序中有一些popup窗口,它是全屏幕和下面的代码: content.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); content.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); int screenWidth = windowManager.getDefaultDisplay().getWidth(); int screenHeight = windowManager.getDefaultDisplay().getHeight(); int x = screenWidth / 2 – content.getMeasuredWidth() / 2; int y = screenHeight / 2 – content.getMeasuredHeight() / 2; window.showAtLocation(content, Gravity.NO_GRAVITY, x, y); 使窗口显示居中。 但是我有另外一个不是全屏的活动,当popup窗口打开时,它是从需要的地方直接下来的。 试图找出为什么发生这种情况,我认为showAtLocation显示它是相对于当前的活动,但我需要显示相对于显示。 我怎样才能做到这一点? 或者有一个更简单的方法来popup刚居中?

ConstraintLayout内部的Wrap_content视图在屏幕外延伸

我正在尝试使用ConstraintLayout来实现一个简单的聊天泡泡。 这是我想要实现的: 但是, wrap_content似乎不能在约束条件下正常工作。 它尊重边际,但不能正确计算可用空间。 这是我的布局: <?xml version="1.0" encoding="utf-8"?> <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="wrap_content"> <TextView android:id="@+id/chat_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="16dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintHorizontal_bias="0" tools:background="@drawable/chat_message_bubble" tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sodales accumsan tortor at bibendum." android:layout_marginStart="64dp" android:layout_marginLeft="64dp" android:layout_marginEnd="32dp" android:layout_marginRight="32dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" /> </android.support.constraint.ConstraintLayout> 这呈现如下: 我使用的是com.android.support.constraint:constraint-layout:1.0.0-beta4 。 难道我做错了什么? 这是一个错误还是一个不直观的行为? 我可以使用ConstraintLayout实现正确的行为(我知道我可以使用其他布局,我特别关心ConstrainLayout )。

设置ImageView在SD卡中显示图像?

我有一个图像存储在我的手机的SD卡。 我想在图像视图中显示它。 我知道文件的位置。 在活动的产生上,有一种简单的方式来expression这样的想法 ImageView img = (ImageView) findViewById(R.id.imageView1); String path = Environment.getExternalStorageDirectory().toString() "Images/image.jpg"; img.setsrc = path ; 请让我知道,如果有什么办法做到这一点。 谢谢。

Textview环绕视图

我试图让我的水平布局利用可用的空间。 在显示活动的信息中,我有一个“事实框”,后面跟着一大盒文字。 我想让信息框正确地浮动,类似于下面的图片。 这可能使用android textview api吗?

为什么DrawerLayout在打开时有时会出现问题?

我遵循教程导航抽屉 ,一切都像一个魅力,除了一个小毛刺。 我会尽量解释它,如果还不清楚,我会尝试上传一个问题的video。 试图打开抽屉时才会出现问题,而且只有在打开时才会出现问题,而且有时会发生,而不总是。 那就是当我开始打开它时,它会以大约4毫米的距离打开,并始终保持相同的距离。 如果我把手指放回去,那么当我放开时,它就不会继续开放也不会closures。 请注意: 我试过多个设备(Nexus 7,Nexus)和虚拟设备,问题依然存在。 使用Google提供的示例复制问题。 (Youtube链接) 问题出现在我的应用程序。 (Youtube链接) 我设法复制了这个问题一次,但只有一次在Gmail应用程序(我相信使用相同的实现),但是更频繁与我的应用程序和示例应用程序。 我注意到,如果您只是单击屏幕边缘,就会在与抽屉打开的距离相同的距离处发生故障,因为在初始打开之后它会冻结,从不拖动。 任何指针将不胜感激。

我应该把“ttf”文件放在Android项目中?

我正在尝试使用字体在我的项目中使用字体。 我将"font.ttf"复制到"font.ttf"文件夹中名为“fonts”的文件夹中。 但日食不允许编译它。 它显示字体文件夹的错误。 我该怎么办? 我得到的错误是: invalid resource directory name fonts /NoRats/assets line 1 Android AAPT Problem

自己定义的Layout,onDraw()方法没有被调用

我定义了这样一个类: public class TestMyFrameLayout extends FrameLayout{ Paint mPaint; public TestMyFrameLayout(Context context, AttributeSet attrs) { super(context, attrs); } public TestMyFrameLayout(Context context) { super(context); mPaint = new Paint(); mPaint.setColor(Color.GREEN); } protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawCircle(50f, 50f, 30, mPaint); } } 并称之为: TestMyFrameLayout myFrameLayout = new TestMyFrameLayout(this); LayoutParams myFrameLayoutParams = new LayoutParams(300,300); myFrameLayout.setLayoutParams(myFrameLayoutParams); setContentView(myFrameLayout); 但是实际上TestMyFrameLayout.onDraw(Canvas canvas)函数没有被调用,为什么呢?

我怎样才能检测到我的应用程序Androidselect哪个布局?

假设我在不同的资源文件夹中有三种不同布局的活动。 例如: layout-land/my_act.xml layout-xlarge/my_act.xml layout-xlarge-land/my_act.xml 在不同的设备和不同的位置,其中一个是由Androidselect的。 我怎样才能找出哪一个是编程select? Android是否有任何将这些布局返回给程序的API? 编辑 : Graham Borland的解决scheme在我提到的一些情况下有问题。