gpt4 book ai didi

Android: Drawablebottom 隐藏文字

转载 作者:行者123 更新时间:2023-11-29 17:19:24 27 4
gpt4 key购买 nike

我有几个 LinearLayouts(见底部图片和一段代码)。每个按钮上都有一个文本,文本下面有一个图像。但是有一个问题。当应用程序在分辨率较低的移动设备上运行时,图像会隐藏文本。我该如何防止这种情况发生?

我将 layout_height 设置为 0pt,让 layout_weight 处理这个问题。

image of layout

<LinearLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0pt"
android:orientation="horizontal">

<Button
android:id="@+id/button1"
android:layout_weight="1"
android:layout_width="0pt"
android:layout_height="match_parent"
android:text="@string/button_pin1"
android:background="@drawable/button_blue"
android:layout_margin="2dp"
android:drawableBottom="@mipmap/ic_arrow_left" />

<Button
android:id="@+id/button2"
android:layout_weight="1"
android:layout_width="0pt"
android:layout_height="match_parent"
android:text="@string/button_pin2"
android:background="@drawable/button_green"
android:layout_margin="2dp"
android:drawableBottom="@mipmap/ic_arrow_right" />
</LinearLayout>

<LinearLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0pt"
android:orientation="horizontal">

<Button
android:id="@+id/button3"
android:layout_weight="1"
android:layout_width="0pt"
android:layout_height="match_parent"
android:text="@string/button_pin3"
android:background="@drawable/button_yellow"
android:layout_margin="2dp"
android:drawableBottom="@mipmap/ic_arrow_up"/>

<Button
android:id="@+id/button4"
android:layout_weight="1"
android:layout_width="0pt"
android:layout_height="match_parent"
android:text="@string/button_pin4"
android:background="@drawable/button_purple"
android:layout_margin="2dp"
android:drawableBottom="@mipmap/ic_arrow_down"/>
</LinearLayout>

感谢您的回答。

编辑(jaydroider):

我试过你的方法,但这是我得到的updated image .在 android studio 中,我查看了不同的屏幕尺寸,这段代码不会填满整个屏幕。我不知道我是不是在做坏事。

这是我更新的代码:

layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context="com.jigsik.arduinocontrol.Pin8aActivity">

<LinearLayout style="@style/CoreLayout">

<TextView
android:id="@+id/myText"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

<LinearLayout style="@style/CoreLayout">

<Button
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/stop_all"
android:onClick="stopAll"
android:background="@drawable/button_red"
android:layout_margin="2dp"
android:drawableBottom="@mipmap/ic_stop"/>
</LinearLayout>

<LinearLayout style="@style/CoreLayout">

<Button
android:id="@+id/button1"
style="@style/Button.Blue"
android:text="@string/button_pin1"
android:drawableBottom="@mipmap/ic_arrow_left" />

<Button
android:id="@+id/button2"
style="@style/Button.Green"
android:text="@string/button_pin2"
android:drawableBottom="@mipmap/ic_arrow_right"/>
</LinearLayout>

<LinearLayout style="@style/CoreLayout">

<Button
android:id="@+id/button3"
style="@style/Button.Yellow"
android:text="@string/button_pin3"
android:drawableBottom="@mipmap/ic_arrow_up"/>

<Button
android:id="@+id/button4"
style="@style/Button.Purple"
android:text="@string/button_pin4"
android:drawableBottom="@mipmap/ic_arrow_down"/>
</LinearLayout>

<LinearLayout style="@style/CoreLayout">

<Button
android:id="@+id/button5"
style="@style/Button.Orange"
android:text="@string/button_pin5"
android:drawableBottom="@mipmap/ic_arrow_right"/>

<Button
android:id="@+id/button6"
style="@style/Button.Azure"
android:text="@string/button_pin6"
android:drawableBottom="@mipmap/ic_arrow_left"/>
</LinearLayout>

<LinearLayout style="@style/CoreLayout">

<Button
android:id="@+id/button7"
style="@style/Button.Pink"
android:text="@string/button_pin7"
android:drawableBottom="@mipmap/ic_arrow_down"/>

<Button
android:id="@+id/button8"
style="@style/Button.Grey"
android:text="@string/button_pin8"
android:drawableBottom="@mipmap/ic_arrow_up"/>
</LinearLayout>

样式.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

<style name="CoreLayout">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">horizontal</item>
<item name="android:weightSum">2</item>
</style>

<style name="Button">
<item name="android:layout_weight">1</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_margin">2dp</item>
<item name="android:layout_gravity">center</item>
<item name="android:gravity">center</item>
<item name="android:padding">10dp</item>
</style>

<style name="Button.Blue">
<item name="android:background">@drawable/button_blue</item>
</style>

<style name="Button.Green">
<item name="android:background">@drawable/button_green</item>
</style>

<style name="Button.Yellow">
<item name="android:background">@drawable/button_yellow</item>
</style>

<style name="Button.Purple">
<item name="android:background">@drawable/button_purple</item>
</style>

<style name="Button.Orange">
<item name="android:background">@drawable/button_orange</item>
</style>

<style name="Button.Azure">
<item name="android:background">@drawable/button_azure</item>
</style>

<style name="Button.Pink">
<item name="android:background">@drawable/button_pink</item>
</style>

<style name="Button.Grey">
<item name="android:background">@drawable/button_grey</item>
</style>

编辑:我认为这种情况没有我希望的解决方案。在我看来,只有一种方法可以完成这项任务。我必须为较小的屏幕制作第二个布局文件并更改它以实现所需的行为(较小的图像等)。谢谢你们的回答。如果不与您一起集思广益,我将找不到解决方案 :-)。

最佳答案

Give android:weightSum="2" to your each Linear Layout. I have applied changes to your Layout. Even it will work with smaller Layouts.

引用这个。

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">


<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin1" />

<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin2" />
</LinearLayout>

编辑 1:

More then 10 Buttons. Don't use style for each Linear Layout.

引用这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical">

<LinearLayout
android:id="@+id/LL1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">


<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin1" />

<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin2" />
</LinearLayout>

<LinearLayout
android:id="@+id/LL2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">


<Button
android:id="@+id/button3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin3" />

<Button
android:id="@+id/button4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin4" />
</LinearLayout>

<LinearLayout
android:id="@+id/LL3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">


<Button
android:id="@+id/button5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin5" />

<Button
android:id="@+id/button6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin6" />
</LinearLayout>

<LinearLayout
android:id="@+id/LL4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">


<Button
android:id="@+id/button7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin7" />

<Button
android:id="@+id/button8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin8" />
</LinearLayout>

<LinearLayout
android:id="@+id/LL5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">


<Button
android:id="@+id/button9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin9" />

<Button
android:id="@+id/button10"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin10" />
</LinearLayout>

<LinearLayout
android:id="@+id/LL6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">


<Button
android:id="@+id/button11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin11" />

<Button
android:id="@+id/button12"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:drawableBottom="@mipmap/ic_launcher"
android:gravity="center"
android:padding="20dp"
android:text="Pin12" />
</LinearLayout>

</LinearLayout>

这是屏幕。

enter image description here

关于Android: Drawablebottom 隐藏文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com