Android:LinearLayout 的布局问题

标签 android android-layout android-studio android-linearlayout

我一定是做错了,布局让我很困惑,所以我希望有人能指导我正确的方向。整个事情一团糟,因为自从我一个月前创建它以来,我一直在不停地摆弄它,试图解决这里那里的小问题,所以我提前为这次灾难道歉。

从字面上看,我想要的只是一个 LinearLayout,其中所有内容都水平和垂直居中。

这就是它在我的设计页面中的显示方式。

enter image description here

在我转储我的布局之前,请允许我解释一下发生了什么。 我有一个 TextView,它在 ImageButton 上方显示状态消息。在 ImageButton 下方,我有一个 TextSwitcher,最后是一个圆形 ProgressBar

我不得不将 android:adjustViewBounds="true"android:scaleType="fitCenter" 放在我的 ImageButton 上,因为图像比适合的大得多,否则。

无论如何,这里是转储。希望有人能提出建议。

<LinearLayout 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="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="0dp"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingTop="0dp"
    android:orientation="vertical"
    android:layout_gravity="fill_vertical|center"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:screenOrientation="nosensor"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.gesslar.threshvote.MainActivity"
    android:background="@color/colorFaded"
    tools:showIn="@layout/activity_main">

    <TextView android:id="@+id/textStatusMessage"
        android:textColor="@color/colorText"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:gravity="center" />

    <ImageButton android:id="@+id/buttonVote"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="false"
        android:src="@drawable/ic_vote_button_image"
        android:background="@android:color/transparent"
        android:scaleType="fitCenter"
        android:onClick="onVotePressed"
        android:layout_gravity="center_horizontal|center_vertical"
        android:adjustViewBounds="true" />

    <TextSwitcher android:id="@+id/textCountdown"
        android:gravity="center"
        android:layout_gravity="center_horizontal"
        android:textColor="@color/colorText"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="@dimen/countdown"
        android:includeFontPadding="false"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <ProgressBar android:id="@+id/loadingBar"
        style="@style/Widget.AppCompat.ProgressBar"
        android:layout_gravity="end"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        android:indeterminate="true"/>

</LinearLayout>

最佳答案

如果您仍然喜欢使用LinearLayout,您可以像这样命令您的布局在水平和垂直方向上都有一个布局中心

    <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#0ff"
                android:orientation="horizontal" >

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:orientation="vertical" >

                    <Button
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:text="Button Center Vertical/ Horizontal" />
                </LinearLayout>
</LinearLayout>

或者简单地使用 RelativeLayoutandroid:layout_centerInParent="true" 来让布局居中于两个方向

希望对你有帮助

关于Android:LinearLayout 的布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906219/

相关文章:

java - 动态添加ImageButtons

android - 如何获得一个文本可以增长和椭圆化的布局,但不会吞噬布局上的其他元素

android-studio - 超出 GC 开销限制 - Android Studio

Android Studio Emulator 卡住并始终加载

android - 从sdcard Android Mediaplayer播放音频

java - RxJava2 中的 flatMapPublisher 是什么?

android - pubnub.subscribe 没有响应

java - 了解 Android 应用程序中的内存泄漏

android - 如何使android全屏 Activity 中的操作栏始终可见

android - .iml 文件不存在 - Android Studio