我在线性布局中有两个按钮,它们定义了相同的属性。但令我惊讶的是,两者都有不同的高度。请参阅下面的xml代码
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingTop="5dp" >
<ImageView
android:id="@+id/imgUser"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="5dp"
android:layout_marginTop="10dp"
android:adjustViewBounds="true"
android:src="@drawable/default_people_thumb" />
<TextView
android:id="@+id/tvUploadHeader"
style="@style/Text.Quaternary.Small.Bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/choose_a_profile_photo" />
<TextView
android:id="@+id/tvDescription"
style="@style/Text.Quaternary.ExtraSmall.Bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center"
android:text="@string/photo_upload_initial" />
<Button
android:id="@+id/btnChoosePhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/login_button_selector"
android:text="@string/choose_photo_from_gallery" />
<Button
android:id="@+id/btnSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/login_button_selector"
android:text="@string/choose_photo_from_gallery" />
</LinearLayout>
你能帮助我保持同样的身高吗?我想知道两者的表现如何不同。还为按钮添加了includeFontPadding。但没有希望:(。
答案 0 :(得分:0)
您的背景抽屉具有不同的填充或高度。检查@drawable/btn_large_gray
和@drawable/login_button_selector
答案 1 :(得分:0)
将按钮放在线性布局
中<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingTop="5dp" >
<ImageView
android:id="@+id/imgUser"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="5dp"
android:layout_marginTop="10dp"
android:adjustViewBounds="true"
android:src="@drawable/default_people_thumb" />
<TextView
android:id="@+id/tvUploadHeader"
style="@style/Text.Quaternary.Small.Bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/choose_a_profile_photo" />
<TextView
android:id="@+id/tvDescription"
style="@style/Text.Quaternary.ExtraSmall.Bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center"
android:text="@string/photo_upload_initial" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingTop="5dp" >
<Button
android:id="@+id/btnChoosePhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/login_button_selector"
android:text="@string/choose_photo_from_gallery" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingTop="5dp" >
<Button
android:id="@+id/btnSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/btn_large_gray"
android:text="@string/skip" />
</LinearLayout>
</LinearLayout>
并根据需要调整两个线性布局
答案 2 :(得分:0)
尝试为android:layout_weight
中的每个元素定义属性LinearLayout
,以便它们具有相同的高度。
例如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingTop="5dp" >
<ImageView
android:id="@+id/imgUser"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_weight="1"
android:layout_margin="5dp"
android:layout_marginTop="10dp"
android:adjustViewBounds="true"
android:src="@drawable/default_people_thumb" />
<TextView
android:id="@+id/tvUploadHeader"
style="@style/Text.Quaternary.Small.Bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/choose_a_profile_photo" />
<TextView
android:id="@+id/tvDescription"
style="@style/Text.Quaternary.ExtraSmall.Bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center"
android:text="@string/photo_upload_initial" />
<Button
android:id="@+id/btnChoosePhoto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5dp"
android:background="@drawable/login_button_selector"
android:text="@string/choose_photo_from_gallery" />
<Button
android:id="@+id/btnSkip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5dp"
android:background="@drawable/login_button_selector"
android:text="@string/choose_photo_from_gallery" />
</LinearLayout>
这个想法是为每个元素提供尽可能多的空间。您的LinearLayout
包含不同的元素,因此通过在wrap_content
和android:layout_height
中选择android:layout_width
,将为添加的每个元素分配可用空间。因为TextView
和Button
不一样......
希望它会有所帮助
答案 3 :(得分:0)
您对两个按钮使用不同的样式, ie&#34; @ style / Text.Quaternary.Small.Bold&#34;和&#34; @ style / Text.Quaternary.ExtraSmall.Bold&#34;你应该只为两个按钮使用一种风格