我正在尝试制作一个带右箭头的按钮。 我已经定义了一个带有按钮的卡片视图。但我不确定如何将箭头与它一起放置,如果它可以在xml中实现。 按钮应如下所示:
我的xml看起来像这样:
<android.support.v7.widget.CardView
android:id="@+id/signupCard"
style="@style/CardView.Light"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="18dp"
android:layout_marginEnd="29dp"
android:layout_marginLeft="29dp"
android:layout_marginRight="29dp"
android:layout_marginStart="29dp"
android:layout_marginTop="198dp"
app:layout_constraintBottom_toTopOf="@+id/loginCard"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<Button
android:id="@+id/signup"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_light"
android:minWidth="0dp"
android:paddingEnd="8dp"
android:paddingStart="8dp"
android:scaleType="center"
android:text="@string/signUp"
android:textColor="#DE000000" />
</android.support.v7.widget.CardView>
答案 0 :(得分:2)
尝试使用此布局。 它适用于你的情况。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:id="@+id/signupCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="18dp"
android:layout_marginEnd="29dp"
android:layout_marginLeft="29dp"
android:layout_marginRight="29dp"
android:layout_marginStart="29dp"
android:layout_marginTop="198dp"
app:cardCornerRadius="@dimen/d5dp"
app:cardElevation="@dimen/d10dp">
<Button
android:id="@+id/signup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="@dimen/d50dp"
android:background="@android:color/background_light"
android:drawablePadding="@dimen/d30dp"
android:drawableEnd="@drawable/icon_right_aero_black"
android:minWidth="0dp"
android:scaleType="center"
android:text="Login"
android:textColor="#DE000000" />
</android.support.v7.widget.CardView>
</RelativeLayout>
答案 1 :(得分:0)
您可以通过xml中的android:drawableRight
来实现此目的,只是为了获取信息,此属性也可以编程方式分配给视图,因为您必须使用setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)
这里是params arre
setCompoundDrawablesWithIntrinsicBounds(int /*FOR LEFT DRAWABLE*/,int/*FOR TOP DRAWABLE*/,int/*FOR RIGHT DRAWABLE*/,int/*FOR BOTTOM DRAWABLE*/)
如果您不想设置drawable
,请将0
传递给它
所以要知道你只需使用android:drawableRight
属性
答案 2 :(得分:0)
试试这段代码: 您可以通过右键单击可绘制&gt;来获取该图像新&gt; 矢量 资产&gt; 剪贴画
<Button
android:id="@+id/signup"
...
android:drawableRight="your image"
...
android:textColor="#DE000000" />
答案 3 :(得分:0)
您可以使用button drawable right或drawable end属性来设置图像: 此外,您可以使用填充属性将填充应用于可绘制图像。
<Button
android:id="@+id/imgButton"
android:text="imageButton"
android:drawableRight="@drawable/your_image"
android:drawableEnd="@drawable/your_image"
android:drawablePadding="@dimen/padding_10dp"
android:textColor="@color/colorButton" />
答案 4 :(得分:0)
你可以去哥们,
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="5dp"
card_view:cardElevation="3dp"
android:layout_marginBottom="18dp"
android:layout_marginEnd="29dp"
android:layout_marginLeft="29dp"
android:layout_marginRight="29dp"
android:layout_marginStart="29dp"
android:layout_marginTop="198dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:background="@color/white"
android:drawableRight="@drawable/ic_chevron"/>
答案 5 :(得分:0)
你可以很简单 首先,你需要一个从官方谷歌网站获得的矢量图标 Material Icons。
然后你会得到一个rar,你可以将每种类型的drawable提取到你的android项目的mipmap文件夹
你将从rar文件获得的文件是
抽拉-HDPI ,绘制,MDPI ,绘制,xhdpi ,绘制,xxhdpi 抽拉-xxxhdpi
分别复制mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi,mipmap-xxhdpi和mipmap-xxxhdpi中包含此文件夹的图像
现在你已经有了图标了
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:background="@color/white"
android:drawableRight="@mipmap/yourIconName"/>
答案 6 :(得分:0)
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-
auto"
android:id="@+id/cardview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:layout_marginRight="7dp"
android:layout_marginTop="25dp"
android:clickable="true"
android:foreground="?
android:attr/selectableItemBackground"
card_view:cardBackgroundColor="@color/White"
card_view:cardCornerRadius="7dp"
card_view:cardElevation="7dp"
card_view:cardMaxElevation="7dp"
card_view:contentPadding="7dp">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp">
<TextView
style="@style/TextColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginStart="64dp"
android:paddingLeft="10dp"
android:text="@string/MySchool"
android:textSize="20dp"
tools:ignore="RtlCompat" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="24dp"
android:background="@color/tranbackground"
android:src="@drawable/ic_keyboard_arrow_right_black_24dp"
tools:ignore="RtlCompat" />
</RelativeLayout>
</android.support.v7.widget.CardView>