[英]Android : Align image on top right hand corner of button
我有一個看起來像一個復選框的圖像,我想在按鈕的右上角對齊。 嘗試過相對布局但無法達到預期的效果。 有什么建議可以達到預期的結果嗎?
我曾嘗試使用 Framelayout 但復選框圖像仍然隱藏
<FrameLayout
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/filter_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/checkmark"
android:layout_gravity="right"
/>
<Button
android:id="@+id/filter"
style="@style/Widget.Button.White.BlueText.BlueStroke"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Filter" />
</FrameLayout>
在 Farouk 建議在圖像之前使用 Button 之后。 這是代碼
<FrameLayout
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/filter"
style="@style/Widget.Button.White.BlueText.BlueStroke"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Filter" />
<ImageView
android:id="@+id/filter_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/checkmark"
android:layout_gravity="top|right"
/>
</FrameLayout>
這是我在設計師身上看到的。
不確定如何向上和向右移動復選框圖像。
如果你想要解決方案,這里是:
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="80dp" >
<Button
android:id="@+id/filter"
style="@style/Widget.Button.White.BlueText.BlueText.FrameImage"
android:layout_margin="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sort" />
<ImageView
android:id="@+id/widget_title_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:src="@drawable/checkmark" />
</FrameLayout>
<style name="Widget.Button.White.BlueText.BlueText.FrameImage" parent="@android:style/Widget.Button">
<item name="android:background">@drawable/white_button_blue_stroke_bg_selector</item>
<item name="android:gravity">center</item>
<item name="android:textColor">@color/white</item>
<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
</style>
解決方案:
它看起來像這樣:
只需使用android:paddingTop="-10dp"
。
這里的代碼:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_icon"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/filter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="7dp"
android:background="#0000FF"
android:gravity="center"
android:paddingBottom="25dp"
android:paddingTop="25dp"
android:text="Sort"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/widget_title_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:adjustViewBounds="true"
android:paddingTop="-10dp"
android:scaleType="fitStart"
android:src="@drawable/checkbtn" />
</FrameLayout>
檢查一下,希望它會對你有所幫助。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dip"
android:focusable="true" >
<ImageView
android:id="@+id/icon"
android:layout_width="60dip"
android:layout_height="60dip"
android:layout_marginTop="8dp"
android:background="@drawable/ic_launcher"
android:scaleType="center" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="-10dip"
android:layout_toRightOf="@+id/icon"
android:gravity="center"
android:text="" />
</RelativeLayout>
編輯如果你想進一步移動復選框到imageview然后增加android:layout_marginLeft="-10dip"
到android:layout_marginLeft="-20dip"
。 只是玩它。 :)
如果有人想在可繪制對象上添加點(使用圖層列表創建一個新的可繪制對象,右上角帶有點)
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/any_drawable">
</item>
<item android:drawable="@drawable/active_dot" android:gravity="right|top"/>
</layer-list>
active_dot.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" android:useLevel="true"
android:dither="true">
<size android:height="12dip" android:width="12dip"/>
<solid android:color="#B01212"/>
</shape>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.