相关疑难解决方法(0)

如何将宽度设置为"填充父级"的android按钮中的图标和文本居中

我想要一个带有图标+文本的Android按钮.我正在使用drawableLeft属性来设置图像,如果按钮的宽度为宽,"wrap_content"但是我需要拉伸到最大宽度,所以我使用宽度"fill_parent".这会将我的图标直接移动到按钮的左侧,我希望图标和文本都在按钮内居中.

我尝试设置填充但这只允许给出一个固定值,所以它不是我需要的.我需要在中心对齐图标+文字.

<Button 
    android:id="@+id/startTelemoteButton" 
    android:text="@string/start_telemote"
    android:drawableLeft="@drawable/start"
    android:paddingLeft="20dip"
    android:paddingRight="20dip"            
    android:width="fill_parent"
    android:heigh="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何建议?

user-interface android button alignment android-layout

112
推荐指数
10
解决办法
13万
查看次数

Android背景+文字+图标的按钮

我想将图像设置为背景上的文本和文本左侧的图标.在iPhone中非常容易,但无法弄清楚如何在Android上执行此操作,可以调整该按钮的大小并保持图标+文本位置和距离正确.

苹果手机:

苹果手机

Android我有这个:

Android的

xml代码是:

<Button
    android:id="@+id/btSettings"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/tvWhatever"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="20dp"
    android:background="@drawable/bt_general"
    android:drawableTop="@drawable/settings_selected"
    android:text="@string/settings"
    android:textColor="#000000" />
Run Code Online (Sandbox Code Playgroud)

这里拿到代码.

如果我使用android:drawableLeft,那么图标将转到最左边的部分.

在此输入图像描述

如果我开始玩半硬编码的填充物,那么我会看到不同的差异:(手机和桌子)

如果我添加android:gravity="left|center_vertical"它将看起来像这样:

在此输入图像描述

文本是可变的:当用户更改语言时,它将发生变化.

怎么做得好?

我不想低估任何人的答案,但请阅读问题,不要提出我已经尝试过的内容.还告诉硬编码修复不能很好地工作.

这不是作业,而是商业软件的一部分.

以下是来自答案的建议代码:

<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bt_general"
        android:padding="20dip" >

        <ImageView
            android:id="@+id/xIcon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dip"
            android:src="@drawable/settings_selected" />

        <TextView
            android:id="@+id/xSettingsTxt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/settings"
            android:textColor="#000000" />
    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

您如何看待android:layout_marginLeft="10dip"Galaxy s4的外观?这是一个预览:

在此输入图像描述

这不是,我所问的."dip"或"dp"或"px"不应在任何地方用作距离左侧,顶部的距离,因为手机具有HPDI,屏幕较小,平板电脑具有MDPI和宽分辨率.简单不适用于mdpi和xxhdpi.

Nizam的答案非常接近一个很好的解决方案:

在此输入图像描述

java xml layout user-interface android

11
推荐指数
1
解决办法
3万
查看次数

自定义 AppCompatButton drawableLeft?

如何在下图中放置drawableLeft和按钮AppCompatButton类似的文本?

应用兼容按钮

我试图申请paddingLeft,但文本正在远离可绘制的右侧。

<android.support.v7.widget.AppCompatButton
                android:id="@+id/filterBy"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:drawableLeft="@drawable/ic_btn_filter"
                android:paddingLeft="20dp"
                android:text="@string/filter_by"
                android:textAllCaps="false" />
Run Code Online (Sandbox Code Playgroud)

到目前为止,结果看起来像

在此处输入图片说明

布局

   <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/profileHeader"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="10dp">

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/findFriends"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:drawableLeft="@drawable/ic_btn_search"
                android:text="@string/find_friends"
                android:textAllCaps="false" />

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/filterBy"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:drawableLeft="@drawable/ic_btn_filter"
                android:text="@string/filter_by"
                android:textAllCaps="false" />
      </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

以及使事情变得清晰的解释性要求。

使用layout_weight属性 am 调整两个按钮的宽度,我必须做的是,文本应该在按钮的中心,drawable 应该在文本的左侧附近对齐。

请问有什么建议吗?

android button android-appcompat compound-drawables

4
推荐指数
1
解决办法
5172
查看次数

使用xml的android布局中的全宽按钮

我想使用 xml 在 android 中创建全宽按钮。这是我的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/menu"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >


    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:src="@drawable/manulogo" />
    <Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableLeft="@android:drawable/btn_star_big_on"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="220dp"
    android:text="Drawable left" 
    />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

xml android

-2
推荐指数
1
解决办法
4761
查看次数