2012-03-04 3 views
0

토스트 메시지에 대한 커스텀 뷰를 만들었습니다.커스텀 토스트 위치 지정

왼쪽에서 오른쪽으로 30dp 여백을 사용하여 내 토스트 메시지의 화면 너비를 조정하고 싶습니다.

하지만 토스트 메시지의 텍스트/콘텐츠가 길면 전체 화면을 채우는 경우가 많습니다 (내용이 적을 경우 많이 정리합니다). 너비 (즉, 전체 화면 너비에서 왼쪽과 오른쪽 여백을 뺀 값)와 그 안에있는 내용에 따라 줄 바꿈 (증가/감소)의 높이가 같은 크기로 유지되기를 바랍니다.

이 내 현재 토스트 XML을 수 있습니다 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toast_root" 
    android:orientation="horizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/jtoast_bg" 
    android:layout_gravity="center" 
    android:layout_marginLeft="15dp" 
    android:layout_marginRight="15dp"> 
<ImageView 
    android:id="@+id/toast_image" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="10dp" 
    android:scaleType="fitStart" 
    android:src="@drawable/menu_info"> 
</ImageView> 
<TextView 
    android:id="@+id/toast_text" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:paddingLeft="10dp" 
    android:textSize="14sp" 
    android:gravity="center" 
    android:text="toast text" 
    android:textColor="#FFF"> 
</TextView> 

과 같이 채워되고있다 :

View layout = inflater.inflate(R.layout.jtoast,(ViewGroup)activity.findViewById(R.id.toast_root)); 
.. 
toast.setGravity(Gravity.BOTTOM, 40, 40); 
.. 
+0

임 같은 문제가 발생 내 건배는 바닥 패딩을 존중하지 않아. f 메시지가 너무 깁니다. 해결책을 찾은 적이 있습니까? – richari1987

답변

0

하는이 시도 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/toast_root" 
      android:orientation="horizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#990099" 
      android:layout_gravity="center" 
    > 
<View 
     android:layout_width="25dp" 
     android:layout_height="fill_parent" 
     /> 
<LinearLayout 
     android:id="@+id/toast_root" 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="#999900" 
     android:layout_gravity="center" 
     android:layout_weight="1" 
     android:padding="5dp" 
     > 
    <ImageView 
      android:id="@+id/toast_image" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="10dp" 
      android:scaleType="fitStart" 
      android:gravity="center" 
      android:src="@android:drawable/ic_btn_search" 
      > 
    </ImageView> 
    <TextView 
      android:id="@+id/toast_text" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:paddingLeft="10dp" 
      android:textSize="14sp" 
      android:text="toast text" 
      android:textColor="#FFF" 
      android:layout_weight="1" 
      android:gravity="center" 
      android:background="#ff00" 
      /> 
</LinearLayout> 
<View 
     android:layout_width="25dp" 
     android:layout_height="fill_parent" 
     /> 

</LinearLayout> 
+0

아니요, 레이아웃, textview에 대해'layout_width'를'fill_parent'로했습니다. 왼쪽, 오른쪽의 여백은 여전히 ​​작동하지 않고 전체 폭을 다시 차지합니다. 또한 텍스트 뷰의 텍스트가 길면 .. 텍스트의 일부가 뷰에서 손실됩니다. –