Articles of android relativelayout

android RelativeLayout以编程方式更改高度

我尝试以编程方式更改布局高度。 我有两个按钮。 在一个按钮我更改我的布局位置和第二个按钮我试图接收保存位置,这是我第一次。 这是我的布局,并在我写的第一个按钮 RelativeLayout.LayoutParams parms = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT); parms.addRule(RelativeLayout.BELOW, R.id.movies_title_layout); scrollpopap.setLayoutParams(parms); scrollpopap.setScrollingEnabled(true); 和第二个按钮 RelativeLayout.LayoutParams rel_btn = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, 300); rel_btn.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); scrollpopap.setLayoutParams(rel_btn); scrollpopap.setScrollingEnabled(false); 在xml文件中,我写了高度200dp和编程300,并有不同的高度。 我怎样才能以编程方式编写保存高度? 如果有人知道解决方案,请帮助我谢谢

在java代码中设置RelativeLayout

我很难让两个文本视图在我的Java代码中出现在彼此的顶部。 这是我正在试验的代码: /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); layout = new RelativeLayout(this); text1 = new TextView(this); text1.setText("1"); text2 = new TextView(this); text2.setText("2"); RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams q = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); q.addRule(RelativeLayout.BELOW, layout.getId()); text1.setLayoutParams(q); layout.addView(text1); p.addRule(RelativeLayout.BELOW,text1.getId()); text2.setLayoutParams(p); layout.addView(text2); setContentView(layout); } 这将两个文本视图堆叠在同一行上,但我希望TextView text2出现在TextView text1下面,所以在我的应用程序中,我希望以下内容显示为输出: […]

绑定视图在RelativeLayout中拖动

我在RelativeLayout里创build了一个可拖动的视图 。 但它似乎超越了RelativeLayout。 我只是想在ViewGroup里面做一个可拖动的View 这个视图可以根据屏幕draggable 。 它可以在RelativeLayout的边界之外拖动。 我怎么能限制它在RelativeLayout中保持可拖动。 CustomImageButton public class ImageButtonCustom extends ImageButton implements View.OnTouchListener{ float dX, dY; private RelativeLayout rootView; private ImageButtonCustom imageButtonCustom; private OnMoveListener onMoveListener; public ImageButtonCustom(Context context,RelativeLayout rootView){ super(context); this.rootView = rootView; init(); } public ImageButtonCustom(Context context) { super(context); init(); } public ImageButtonCustom(Context context, AttributeSet attrs) { super(context, attrs); init(); } […]

Android自定义视图在调用invalidate后显示为纯黑色

在这个代码中,我想在两个ImageView的顶部之间画一条线。 但是,在运行应用程序时,在调用invalidate()之后,自定义视图显示为纯黑色。 这是我的代码: public class ArrowView extends RelativeLayout { public Paint paint; public Bitmap eraser; public Canvas cacheCanvas; public float leftX; public float leftY; public float rightX; public float rightY; public boolean update = false; public ImageView iv_leftArrow; public ImageView iv_rightArrow; private int w; private int h; LayoutInflater mInflater; public ArrowView(Context context) { super(context); this.setWillNotDraw(false); […]

ImageView adjustViewBounds不能用于相对布局

我有一个ImageView ,并将其layout_height设置为“100dp”,并将其layout_width设置为“wrap_content”。 使用的drawable具有更大的实际尺寸是130dp(宽)X 215dp(高)。 当ImageView放置在LinearLayout ,如果将adjustViewBounds设置为true,则会获得根据drawable的纵横比和layout_width测量的宽度。 但是,放置在RelativeLayout时,无论adjustViewBounds设置如何, ImageView都将获得与drawable(130dp)相同的宽度。 在这两种情况下,图像渲染correclty没有失真,但ImageView的界限是不同的。 RelativeLayout: <?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="match_parent" android:background="@android:color/background_light"> <ImageView android:layout_width="wrap_content" android:layout_height="100dp" android:adjustViewBounds="true" android:src="@drawable/phone_orange" android:contentDescription="@null" /> </RelativeLayout> LinearLayout: <?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="@android:color/background_light" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="100dp" android:adjustViewBounds="true" android:contentDescription="@null" android:src="@drawable/phone_orange" /> </LinearLayout> 为什么ImageView在这两种情况下的测量方式不同? 有没有办法使ImageView行为总是像在LinearLayout的情况下(包装LinearLayout工程,但它不是一个干净的解决scheme)?

如何在android中构build键盘提示布局

现在我已经创build了一个使用线性布局的键盘布局,每个键是一个图像,例如“Q”,“W”,“E”是不同的图像。 问题是,如何在上面添加提示图片? 这个想法是,提示图像是默认隐藏的,当用户长按键时,提示图像被显示。 我有一套提示图像。 任何想法将它们添加到键盘布局? 非常感谢您的帮助。 这是键盘布局参考 <LinearLayout android:id="@id/training_keyboard" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_alignParentBottom="true" android:padding="5dp" android:background="@color/colorBg"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:weightSum="10" android:gravity="center" android:orientation="horizontal"> <ImageView android:id="@+id/key1" android:layout_width="0dp" android:layout_height="wrap_content" android:adjustViewBounds="true" android:layout_weight="1" android:padding="2dp" android:tag="手" android:src="@drawable/keyboard_letter_r1_1" /> <ImageView android:id="@+id/key2" android:layout_width="0dp" android:layout_height="wrap_content" android:adjustViewBounds="true" android:layout_weight="1" android:padding="2dp" android:tag="田" android:src="@drawable/keyboard_letter_r1_2" /> <ImageView android:id="@+id/key3" android:layout_width="0dp" android:layout_height="wrap_content" android:adjustViewBounds="true" android:layout_weight="1" android:padding="2dp" android:tag="水" android:src="@drawable/keyboard_letter_r1_3" /> <ImageView android:id="@+id/key4" android:layout_width="0dp" android:layout_height="wrap_content" […]

调整图像大小时,毕加索不保留纵横比

我想保留一个imageView的纵横比,并调整它的大小,尽可能大地填充/合适,而不会使用毕加索扭曲/改变纵横比。 到目前为止,我发现这一点: 缩放在毕加索的图像大小 这表明使用: .fit().centerInside() 然而,当我尝试它: Picasso.with(this).load(boxart) .fit().centerInside() .into(imageItem); 随着我的XML: … <RelativeLayout android:id="@+id/rl_ListView1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_centerInParent="true" android:layout_gravity="left" android:layout_weight="0.3" > <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:scaleType="fitXY" android:layout_gravity="left" /> </RelativeLayout> … 然而,图像仍然出现扭曲(它显得太长而瘦) – 它的原始长宽比是扭曲的),我不确定为什么。

棉花糖RelativeLayoutperformance奇怪与alignBaseline

在Android 6.0 Marshmallow中,EditText与RelativeLayout中的ImageView相关的属性baseline和layout_alignBaseline的定位不再起作用。 这个行为甚至可以在Android studio的布局编辑器中观察到。 在一个真正的Android棉花糖设备或emulatr我的情况EditText是在屏幕外移动,不可见。 我错过了一些改变,这是一个错误? <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivityFragment"> <ImageView android:layout_width="48dp" android:layout_height="48dp" android:id="@+id/imageView" android:src="@drawable/icon_category_geography_raster" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:baselineAlignBottom="true" android:background="#00ffff" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_alignParentTop="true" android:layout_toRightOf="@id/imageView" android:background="#ff0000" android:inputType="text" android:hint="Hint" android:layout_alignBaseline="@id/imageView" /> 我已经创build了Android Studio布局编辑器的屏幕截图。 这两个截图之间的区别仅仅是API级别的变化。 我已经创build了一个示例项目https://github.com/mikegr/baseline

如何能创build一个水平滚动列表与捕捉效果的中心

好! 在过去的几个星期里,我一直在努力做到这一点,似乎找不到我如何能够完成我想要的东西的一个很好的解决scheme。 一直在尝试使用Horizo​​ntalScrollView,Gallery(已弃用)。 我现在正在考虑RecycleView,因为我来到这个方法.smoothScrollToPosition(),并认为这可能会帮助我。 这是我想要完成的一个例子: 我也必须能够以编程方式创build相关布局 任何人都可以指出,这可以实现吗? 有没有原生的方式来做到这一点? 编辑:进一步寻找@CommonsWare关于查看ViewPager和从戴夫史密斯commonsware.com/blog/2012/08/20/第三职位的build议,我认为这是要走的路。 还没有适应我的使用,但它看起来不错。 我使用他的Github的Dave Smiths示例: https : //gist.github.com/devunwired/8cbe094bb7a783e37ad1

如何从默认的ConstraintLayout切换到Android Studio 2.3.3中的RelativeLayout

我有最新的Android Studio(2.3testing版3),似乎ConstraintLayout是创build项目时的默认值。 我怎样才能把它切换到RelativeLayout?