나는 클라이언트가 전체 화면이 더 하얀색이되어야하는 응용 프로그램을 보길 원했습니다 ("투명"이라고 말했음). 오버레이 연설 거품.
덕분에 다행히 레이아웃이 복잡하지 않게되었습니다.
두 가지 방법으로 투명 효과를 얻을 수 있습니다. 배경이 흰색이거나 모든 뷰를 호출 할 수 있습니다. setAlpha() 메서드를 사용하거나 반투명 한 흰색 오버레이를 만들 수 있습니다.
오버레이를 사용하는 경우 오버레이를 통해 불투명 한 버튼을 표시하는 방법을 찾아야합니다. 약간 복잡 할 수 있습니다. 첫 번째 옵션을 사용하면 불투명 뷰에서 setAlpha (1)을 표시하여 표시 할 수 있습니다.
setAlpha() 메소드는 api 버전 11 이상에서만 사용할 수 있으므로 이전 버전을 타겟팅하는 경우 약간 더 복잡한 방법으로 수행해야 할 수 있습니다. 뷰에 사전 벌집 알파를 설정
예 : 귀하의 버튼에
레이아웃 (너무 그들과 유사하게, 당신이 원하는 그러나 그들을 만들 할 수 있습니다 그들을 통해 루프) :에서
<LinearLayout
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:tag="image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tile"/>
<TextView
android:tag="text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF000000"
android:text="button1"/>
</LinearLayout>
당신의 프로그램, 당신은 버튼을 투명하게 할 때 :
LinearLayout l = (LinearLayout) findViewById(R.id.button1);
((ImageView)l.findViewWithTag("image")).setAlpha(0x7F);
((TextView)l.findViewWithTag("text")).setTextColor(0x7F000000);
때 시간을 투명 효과를 어떻게 만들지 결정한 후에는 오버레이 텍스트/거품을 표시하는 방법을 결정해야합니다. 이 레이아웃을 새 레이아웃의 영향을받지 않도록 전체 레이아웃 위에 별도의 레이어에 넣을 가능성이 큽니다.
이를 달성하는 한 가지 방법은 루트 레이아웃 요소를 FrameLayout으로 변경 한 다음 이에/표시를 만드는 것입니다. 예컨대 : 소개가 표시되면
<FrameLayout background="#FFFF"> <!-- white background, just in case -->
<LinearLayout>
<!-- the rest of your layout -->
</LinearLayout>
<LinearLayout visibility="gone"> <!-- this will be your overlay view -->
<ImageView /> <!-- the arrow/ring -->
<TextView /> <!-- the description -->
</LinearLayout>
</FrameLayout>
, 당신은 테이블 항목의 위치에 숨겨진 오버레이 뷰의 위치를 설정하는 것은 적절한 문자열/리소스에 텍스트를 변경하고보기를 표시, 설명한다.
소개가 끝나면 모든 버튼의 알파 값을 재설정하고 오버레이의 표시 여부를 다시 설정합니다.
답변 해 주셔서 감사합니다. 그러나, 나는 어떻게 든 코드 작동을 얻지 못한다. 어쩌면 예제 코드를 제공 할 수 있을까요? (당신은 나를 위해 모든 것을 쓸 필요가 없습니다.) – Force
setAlpha()는 벌집에서만 존재한다는 것을 알았 기 때문에 버튼의 투명도를 변경하는 코드를 추가했습니다. 나는 시간이 있기 때문에 몇 가지 예제 코드로 업데이트 할 것이다. – Jave
감사합니다. 이제 완벽하게 작동합니다! :) – Force