タイトルが中央に配置され、キャンセル ボタンが右に配置された相対レイアウトがあります。タイトルがキャンセルボタンと重なっているかどうかを確認したいのですが、重なっている場合は、重なっている量に基づいてタイトルを左にシフトします。
これは私のxmlがどのように見えるかです:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.app.mobile"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="@dimen/actionBarHeight"
android:layout_alignParentTop="true"
android:id="@+id/actionbar"
android:background="#F8F8F8">
<com.app.mobile.subview.CustomButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:id="@+id/cancel_btn"
android:text="Cancel"
app:typeface="fonts/HelveticaNeue"
app:customStyle="Regular"
android:textSize="@dimen/titleTextSize"
android:textColor="#378BFB"
android:background="@android:color/transparent"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:visibility="gone"/>
<com.app.mobile.subview.CustomButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:id="@+id/share_btn"
app:typeface="fonts/HelveticaNeue"
app:customStyle="Regular"
android:textColor="#378BFB"
android:visibility="gone"/>
<com.app.mobile.subview.CustomTextView
android:id="@+id/title"
android:gravity="center"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:typeface="fonts/HelveticaNeue"
app:customStyle="Medium"
android:textSize="@dimen/titleTextSize"
android:textColor="#000"
android:text="Test Title"/>
</RelativeLayout>
そして、私は以下のような位置を取得しようとしています
float xPos = screenTitle.getX();
float titleEnd = xPos + screenTitle.getWidth();
xPos = cancelButton.getX();
if(titleEnd > xPos){
Log.e("Title","Title overlaps cancel button");
}
cancelButton.getX() は 0.0 を返していますが、タイトルは正しい値を返しています。
1.小さなタイトルでのレイアウトはこんな感じ