2017-12-27 15 views
0

ListView 항목 레이아웃을 만들고 아이콘을 왼쪽에 맞추려고하면 가운데가 주 텍스트이고 두 개로 나뉘는 두 개의 텍스트 (주 텍스트 높이의 위쪽과 아래쪽 부분)) 그 텍스트의 오른쪽에있는 -하지만 난 '화면 크기와 텍스트에 따라'맞는 것 같습니다.Xamarin 안드로이드 RelativeLayout 디자이너 설치

Heres는 내 현재 AXML 레이아웃 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:minWidth="25px" 
android:minHeight="25px"> 
<ImageView 
    android:layout_width="60dp" 
    android:layout_height="60dp" 
    android:background="@android:color/darker_gray" 
    android:id="@+id/photoImageView" /> 
<TextView 
    android:text="App Name And UID" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textAlignment="viewStart" 
    android:background="@android:color/holo_blue_light" 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    android:layout_toRightOf="@id/photoImageView" 
    android:id="@+id/nameTextView" /> 
<TextView 
    android:text="Down: 723B/s" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:textAlignment="viewStart" 
    android:background="@android:color/holo_blue_dark" 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="30dp" 
    android:layout_toRightOf="@id/nameTextView" 
    android:id="@+id/downloadTextView" /> 
<TextView 
    android:text="Up: 2104MB/ss" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:textAlignment="viewStart" 
    android:background="@android:color/holo_blue_dark" 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="30dp" 
    android:layout_toRightOf="@id/nameTextView" 
    android:layout_below="@id/downloadTextView" 
    android:id="@+id/uploadTextView" /> 

사람이없는 솔루션 또는 뭔가 메신저가 있습니까? 레이아웃 중첩을 피하려고하는 메모를 작성하십시오

+0

당신 VS 지금은 잘 작동 하는가? 'GridLayout'을 테스트 해 보셨습니까? –

+0

VS 디자이너가 제대로 작동하지 않지만, 제대로 빌드하고 실행할 때 – Nevaran

+0

그래서 두 솔루션 모두 제대로 작동하지 않습니다. 맞습니까? –

답변

0

귀하의 요구 사항이 허용하는 경우 RelativeLayout 대신 LinearLayout을 사용하여 구현할 수 있습니다. layout_weight 속성을 사용하여 위의 예에서 화면 크기에 따라 항상 화면의 특정 비율을 차지하도록 크기를 지정합니다. 예를 들어 1 (응용 프로그램 아이콘) - 3 (기본 텍스트) - 2 마지막 부분). 이것은 총 6 개입니다. 즉, 화면의 크기에 관계없이 아이콘이 화면 너비의 1/6을 차지하고, 주 텍스트는 3/6을 차지합니다. 이 아래의 구현을위한 코드를 찾기 : 당신은 단지 하나의 레이아웃을 사용하려면

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" 
android:minWidth="25dp" 
android:minHeight="25dp"> 
<ImageView 
    android:layout_width="0dp" 
    android:layout_height="60dp" 
    android:layout_weight="1" 
    android:background="@android:color/darker_gray" 
    android:id="@+id/photoImageView" /> 
<TextView 
    android:text="App Name And UID" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:background="@android:color/holo_blue_light" 
    android:gravity="center_vertical" 
    android:layout_width="0dp" 
    android:layout_weight="3" 
    android:layout_height="60dp" 
    android:id="@+id/nameTextView" /> 
<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="2" 
    android:orientation="vertical"> 
<TextView 
    android:text="Down: 723B/s" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:background="@android:color/holo_blue_dark" 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="30dp" 
    android:id="@+id/downloadTextView" /> 
<TextView 
    android:text="Up: 2104MB/ss" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:background="@android:color/holo_blue_dark" 
    android:gravity="center_vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="30dp" 
    android:id="@+id/uploadTextView" /> 
</LinearLayout> 

+0

글쎄, 좋은 성능 현명하지 않는 ** 2 ** 레이아웃을 사용하지만, 만약 다른 방법이 없다면, 그것을 가져 가라. – Nevaran

+0

멋지다, 당신은 할 수있다 upvote 당신을 위해 작동하는 경우 –

+0

그냥 했어 - 아래 15 일 그것을 대표하지 말라 - 그것은 makign 그것의 이상한 방법의 종류 – Nevaran

0

, GridLayout 시도 :

<GridLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:rowCount="2" 
    android:columnCount="6"> 
    <ImageView 
     android:src="@drawable/rr" 
     android:layout_rowSpan="2" 
     android:background="@android:color/darker_gray" 
     android:id="@+id/photoImageView" /> 
    <TextView 
     android:text="App Name And UID" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:background="@android:color/holo_blue_light" 
     android:gravity="center_vertical" 
     android:layout_columnSpan="3" 
     android:layout_rowSpan="2" 
     android:layout_gravity="fill_vertical" 
     android:id="@+id/nameTextView" /> 
    <TextView 
     android:text="Down: 723B/s" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:background="@android:color/holo_blue_dark" 
     android:gravity="center_vertical" 
     android:id="@+id/downloadTextView" 
     android:layout_gravity="fill" 
     android:layout_columnSpan="2" /> 
    <TextView 
     android:text="Up: 2104MB/ss" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:background="@android:color/holo_blue_dark" 
     android:gravity="center_vertical" 
     android:id="@+id/uploadTextView" 
     android:layout_gravity="fill" 
     android:layout_columnSpan="2" /> 
</GridLayout> 
+0

내가 havent GridLayouts 많은 행운을했다 - VS에 대한 xamarin 보인다 조금 깨졌습니다. – Nevaran

+0

복사하여 붙여 넣기가 좋습니다. –