Tag: android linearlayout

LinearLayout为什么不按比例分配收缩?

我的理解是,LinearLayout应该根据子元素的布局权重分配松弛(额外空间)和/或缩小(负额外空间)。 这似乎工作,因为我期望松懈,但不是收缩。 以下的android Activity演示。 它显示了9列(垂直LinearLayouts),拥挤程度不同。 9列中的每一列都有两个孩子: 第一个孩子是由3个单选按钮组成的子列,分别标有“A”,“B”,“C” 第二个孩子是由2个单选按钮组成的子列,分别标记为“0”,“1” 每个子列的权重与其中单选按钮的数量(3或2)成正比,子列中每个单选按钮的权重为1。 我选择了这些权重,以便在其子孙(单选按钮)中平均分配列的额外空间(负值或正值),以便给定列中的所有5个单选按钮的大小相同。 如下图所示(开发人员选项“显示布局边界”启用),它似乎按照预期的方式工作(右侧的红色列),但不适用于缩小(蓝色列,左侧)。 在最拥挤的(最左边的)列中,这个差异是最明显的,前三个单选按钮比两个表兄弟小得多。 这是LinearLayout的预期行为? 或者它是LinearLayout中的一个错误? 或者在我的程序中的错误? 这里的程序列表(在Kotlin ): // app/src/main/java/com/example/donhatch/linearlayoutweightsquestionactivity/MainActivity.kt // Simple activity to test LinearLayout’s slack/shrinkage distribution behavior. package com.example.donhatch.linearlayoutweightsquestionactivity import android.graphics.Color import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.LinearLayout import android.widget.RadioButton import android.widget.RadioGroup class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val c […]

软件键盘调整Android上的背景图像

无论何时出现软件键盘,都会调整背景图像的大小。 请参阅下面的截图: 正如你所看到的,背景被挤压了。 任何人都可以了解为什么背景调整? 我的布局如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/page_bg" android:isScrollContainer="false" > <LinearLayout android:layout_height="wrap_content" android:orientation="horizontal" android:layout_width="fill_parent" > <EditText android:id="@+id/CatName" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:inputType="textCapSentences" android:lines="1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/save" android:onClick="saveCat" /> </LinearLayout> <ImageButton android:id="@+id/add_totalk" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@null" android:src="@drawable/add_small" android:scaleType="center" android:onClick="createToTalk" android:layout_marginTop="5dp" /> </LinearLayout>