标签: gravity

Android以编程方式设置TextView的重力

我可以android:gravity="bottom|center_horizontal"在textview上使用xml来获得我想要的结果,但我需要以编程方式执行此操作.我的文本视图tablerow位于一个内容中relativelayout.

我试过了:

LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
labelTV.setLayoutParams(layoutParams);
Run Code Online (Sandbox Code Playgroud)

但是,如果我理解正确,那将适用于tablerow,而不是textview?

android gravity textview android-layout

207
推荐指数
3
解决办法
23万
查看次数

Android支持设计TabLayout:重力中心和模式可滚动

我想在我的项目中使用新的Design TabLayout.我希望布局适应每个屏幕尺寸和方向,但可以在一个方向上正确看到.

我正在处理重力和模式设置我的tabLayout为:

    tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
    tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
Run Code Online (Sandbox Code Playgroud)

所以我希望如果没有空间,tabLayout是可滚动的,但是如果有空间,它就会居中.

从指南:

public static final int GRAVITY_CENTER Gravity用于布置TabLayout中心的选项卡.

public static final int GRAVITY_FILL Gravity用于尽可能多地填充TabLayout.此选项仅在与MODE_FIXED一起使用时生效.

public static final int MODE_FIXED固定选项卡同时显示所有选项卡,最适用于受益于选项卡之间快速枢轴的内容.选项卡的最大数量受视图宽度的限制.固定标签的宽度相等,基于最宽的标签标签.

public static final int MODE_SCROLLABLE可滚动选项卡在任何给定时刻显示选项卡的子集,并且可以包含更长的选项卡标签和更多数量的选项卡.当用户不需要直接比较标签标签时,它们最适合用于浏览触摸界面中的上下文.

所以GRAVITY_FILL只与MODE_FIXED兼容但是,at没有为GRAVITY_CENTER指定任何内容,我希望它与MODE_SCROLLABLE兼容,但这是我使用GRAVITY_CENTER和MODE_SCROLLABLE

在此输入图像描述

因此它在两个方向都使用SCROLLABLE,但它没有使用GRAVITY_CENTER.

这就是我对景观的期望; 但要拥有这个,我需要设置MODE_FIXED,所以我得到的是肖像:

在此输入图像描述

如果tabLayout适合屏幕,为什么GRAVITY_CENTER不能用于SCROLLABLE?有没有办法动态设置重力和模式(并看看我期待什么)?

非常感谢你!

编辑:这是我的TabLayout的布局:

<android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:background="@color/orange_pager"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

android gravity material-design android-5.0-lollipop

88
推荐指数
7
解决办法
9万
查看次数

FrameLayout中的Android中心视图不起作用

我有一个FrameLayout,其中我有2个控件: - 一个自定义视图,在其上绘制图像和一些文本 - 带有文本的textview

我想在FrameLayout中居中,但我无法做到.Texview的中心很好,当我看到它时,我的视图仍然在左侧.

<FrameLayout android:id="@+id/CompassMap"
               android:layout_width="fill_parent" 
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:gravity="center">

             <view class="com.MyView"
        android:id="@+id/myView"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:visibility="gone"/>

                <TextView android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:text="CENTERED" /> 
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

对Mathias来说,我在构造函数中没有做任何事情,这很简单

   public class MyMapView extends View {

private int xPos = 0; 
private int yPos = 0;
private Bitmap trackMap;

private Matrix backgroundMatrix;
private Paint backgroundPaint;

private Bitmap position;
private Matrix positionMatrix;
private Paint positionPaint;

public MyMapView(Context context) {
    super(context);
    init(context, null);
}

public MyMapView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context, attrs);
} …
Run Code Online (Sandbox Code Playgroud)

layout android gravity

74
推荐指数
3
解决办法
9万
查看次数

是否可以在微调器项custom_style.xml中指定多个重力值?

我有textview.xml,这是微调器的项目样式.

<TextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:gravity="left|center_horizontal"
  android:textSize="18sp">
</TextView>
Run Code Online (Sandbox Code Playgroud)

我知道可以指定两者(Gravity.LEFT | Gravity.CENTER_HORIZONTAL),但在xml中不起作用 - 文本仅移动到左侧.

android gravity android-layout

65
推荐指数
2
解决办法
7万
查看次数

以编程方式将ImageView的重力设置为android中心

我想用以下代码将Imageview数组的重力,ImageIcons [i]设置到中心,

ImageIcons[i] = new ImageView(this);
ImageIcons[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
layout.addView(ImageIcons[i]);
Run Code Online (Sandbox Code Playgroud)

在设定引力时我被困住了.我要求SO人员指导我.

谢谢

android center dynamic gravity android-imageview

39
推荐指数
2
解决办法
6万
查看次数

使用重力将图像定位在ImageView内:顶部

      ??????????????????????????????????????????????????????????
      ?               Linear Layout  (Center)                  ?
      ?    ????????????????????????????????????????????????    ?   
      ?    ? ImageView    ????????????????                ?    ?
      ?    ?              ?              ?    (Center)    ?    ?
      ?    ?              ? Actual image ?                ?    ?
      ?    ?              ?              ?                ?    ?
      ?    ?              ?  (Center)    ?                ?    ?
      ?    ?              ?              ?                ?    ?
      ?    ?              ????????????????                ?    ?
      ?    ????????????????????????????????????????????????    ? 
      ?                                                        ?
      ??????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

我想这样做:

      ??????????????????????????????????????????????????????????
      ?               Linear Layout  (Center)                  ?
      ?    ????????????????????????????????????????????????    ?   
      ?    ? ImageView    ?              ?                ?    ?
      ?    ?              ? …
Run Code Online (Sandbox Code Playgroud)

android gravity imageview

36
推荐指数
3
解决办法
4万
查看次数

中心文本android按钮

我的问题很简单.如何将文本放在android中的按钮中心?我尝试将填充设置为0,将重力设置为居中,但是当我运行它时,结果仍然是文本是水平居中但不是垂直的.文本有点转移到底部.

<Button
    android:id="@+id/btnSame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="10dip"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:background="@drawable/layout_button_different"
    android:gravity="center_vertical|center_horizontal"
    android:height="30dp"
    android:padding="0dip"
    android:text="@string/equals"
    android:textColor="@drawable/layout_button_different"
    android:textSize="50dp"
    android:width="70dp" />
Run Code Online (Sandbox Code Playgroud)

我也很相关:在活动中我这样做:

btnEquals.setCompoundDrawablesWithIntrinsicBounds(null,getResources().getDrawable(R.drawable.up2), null, null);
btnEquals.setPadding(0, 5, 0, 0);
btnEquals.setTextSize(15);
Run Code Online (Sandbox Code Playgroud)

这有效但在此之后我设置了这个:

btnEquals.setCompoundDrawables(null, null, null, null);
btnEquals.setPadding(0, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

结果是错误的垂直对齐.

android gravity

24
推荐指数
2
解决办法
6万
查看次数

Android中"重力"和"加速度"传感器有什么区别?

Android中的重力和加速度传感器有什么区别?从我的观点来看,两种情况下的物理价值都是相同的.

哪一个测量作用于设备内部单位质量的力?

加成

问题是:这些传感器测量的物理量是多少?根据等效原理,加速度和重力是无法区分的,测量两者的唯一方法是通常(但是3d)弹簧平衡.

android accelerometer gravity android-sensors

22
推荐指数
1
解决办法
5万
查看次数

以编程方式设置视图的重力

我正在开发一个ViewAndroid源代码.我想知道我们如何设置多个重力,以定制View

这是XML

<com.android.systemui.statusbar.policy.Clock
        android:id="@+id/clock"
        android:textAppearance="@style/TextAppearance.StatusBar.Clock"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:singleLine="true"
        android:paddingLeft="6dip"
        android:gravity="center_vertical|left"
        />
Run Code Online (Sandbox Code Playgroud)

如你所见,默认引力是center_vertical | left,所以我的Java代码应该是这样的

    View clock = mStatusBarView.findViewById(R.id.clock);

    if (clock != null) {
        SOMEHOW SET GRAVITY -> mCenterClock ? Gravity.CENTER : (Gravity.CENTER_VERTICAL | Gravity.LEFT);
    }
Run Code Online (Sandbox Code Playgroud)

setGravity方法不起作用View.那么在默认情况下是否可以设置重力而不会丢失宽度和高度?

提前致谢.

java android view gravity

21
推荐指数
2
解决办法
4万
查看次数

多边形的重心

我正在尝试编写一个PHP函数来计算多边形的重心.

我看过其他类似的问题,但我似乎无法找到解决方案.

我的问题是我需要能够计算规则和不规则多边形甚至自相交多边形的重心.

那可能吗?

我也读过:http://paulbourke.net/geometry/polyarea/ 但这仅限于非自相交的多边形.

我怎样才能做到这一点?你能指出我正确的方向吗?

algorithm geometry polygon geolocation gravity

20
推荐指数
2
解决办法
3万
查看次数