<div style="line-height:21.6000003814697px;"><span style="font-size:9pt;line-height:1.5;">예전에 만들었던 유투브 어플..... 간간히 유지보수중입니당.</span></div> <div style="line-height:21.6000003814697px;"><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div> <div style="line-height:21.6000003814697px;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1424244710b8ZW49ZOr4S4.png" width="324" alt="Screenshot_2015-02-18-16-29-53.png" style="max-width:800px;height:auto;border:none;"></div> <div style="line-height:21.6000003814697px;">이게 바로 오늘 문제가 되는 부분입니다.</div> <div style="line-height:21.6000003814697px;">문제는 위에 그림에서 볼 수 있듯이, 터치 영역이 좁아요....</div> <div style="line-height:21.6000003814697px;">저기 "외톨이" 오른쪽 부분을 터치하면 터치 이벤트가 안생겨요 ㅜㅜ</div> <div style="line-height:21.6000003814697px;"><br></div> <div style="line-height:21.6000003814697px;">일단 문제를 간소화 시켜봤어요.</div> <div style="line-height:21.6000003814697px;">전체 코드를 올리자니 너무 많고 복잡해서요 ㄷㄷ</div> <div style="line-height:21.6000003814697px;"> <div><img src="http://thimg.todayhumor.co.kr/upfile/201502/1424244402ZVwf4Z3PI4ncA5.png" width="324" alt="Screenshot_2015-02-18-16-24-03.png" style="max-width:800px;height:auto;border:none;"> <img src="http://thimg.todayhumor.co.kr/upfile/201502/1424244406zolcyMXFIwC.png" width="324" alt="Screenshot_2015-02-18-16-23-35.png" style="max-width:800px;height:auto;font-size:9pt;line-height:1.5;border:none;"></div> <div>위에 두 녀석의 차이점이 있다면 "터치 영역"이에요.</div> <div>왼쪽껀 텍스트가 적혀있지 않은 빈 공간을 터치하더라도 터치이벤트가 발생하고</div> <div>오른쪽껀 텍스트가 젹혀있는 공간만이 터치이벤트를 발생시켜요.</div></div> <div style="line-height:21.6000003814697px;"><br></div> <div style="line-height:21.6000003814697px;">코드를 올려보겠습니다.</div> <div style="line-height:21.6000003814697px;">먼저 activity_main.xml 파일입니당.</div> <div> <div><span style="line-height:21.6000003814697px;"><?xml version="1.0" encoding="utf-8"?></span></div> <div><span style="line-height:21.6000003814697px;"><LinearLayout</span></div> <div><span style="line-height:21.6000003814697px;"> xmlns:android="<a target="_blank" href="http://schemas.android.com/apk/res/android" target="_blank">http://schemas.android.com/apk/res/android</a>"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_width="match_parent"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_height="wrap_content"</span></div> <div><span style="line-height:21.6000003814697px;"> android:orientation="vertical" ></span></div> <div><span style="line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"> <ListView</span></div> <div><span style="line-height:21.6000003814697px;"> android:id="@+id/list_view"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_width="match_parent"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_height="wrap_content" /></span></div> <div><span style="line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"></LinearLayout></span></div></div></div> <div><span style="line-height:21.6000003814697px;"><br></span></div> <div><span style="line-height:21.6000003814697px;">그리고 list_item.xml 파일입니당.</span></div> <div> <div><span style="line-height:21.6000003814697px;"><?xml version="1.0" encoding="UTF-8"?></span></div> <div><span style="line-height:21.6000003814697px;"><!DOCTYPE xml></span></div> <div><span style="line-height:21.6000003814697px;"><LinearLayout xmlns:android="<a target="_blank" href="http://schemas.android.com/apk/res/android" target="_blank">http://schemas.android.com/apk/res/android</a>"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_width="wrap_content"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_height="wrap_content" </span></div> <div><span style="line-height:21.6000003814697px;"> android:orientation="horizontal" ></span></div> <div><span style="line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"> <TextView </span></div> <div><span style="line-height:21.6000003814697px;"> android:id="@+id/video_info_label"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_width="match_parent"</span></div> <div><span style="line-height:21.6000003814697px;"> android:ellipsize="marquee"</span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_height="wrap_content"</span></div> <div><span style="line-height:21.6000003814697px;"> android:textColor="#000000"</span></div> <div><span style="line-height:21.6000003814697px;"> android:textSize="8pt" </span></div> <div><span style="line-height:21.6000003814697px;"> android:layout_gravity="center" /></span></div> <div><span style="line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"></LinearLayout></span></div></div> <div><span style="line-height:21.6000003814697px;"><br></span></div> <div><span style="line-height:21.6000003814697px;">그리고 MainActivity.java 파일입니당. (import 는 생략할게욤)</span></div> <div> <div><span style="line-height:21.6000003814697px;"><br></span></div> <div><span style="line-height:21.6000003814697px;">public class MainActivity extends Activity {</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>@Override</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>protected void onCreate(Bundle savedInstanceState) {</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>super.onCreate(savedInstanceState);</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>setContentView(R.layout.activity_main);</span></div> <div><span class="Apple-tab-span" style="white-space:pre;line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>String[] arr = {"apple", "banana", "melon", "blueberry"};</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>ListView listView = (ListView)findViewById(R.id.list_view);</span></div> <div><span class="Apple-tab-span" style="white-space:pre;line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span><font color="#ff0000">// ArrayAdapter<String> adapter = </font></span></div> <div><span style="line-height:21.6000003814697px;"><font color="#ff0000"><span class="Apple-tab-span" style="white-space:pre;"> </span>// <span class="Apple-tab-span" style="white-space:pre;"> </span>new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr);</font></span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span><font color="#0070c0">MyArrayAdapter adapter = new MyArrayAdapter(this, arr);</font></span></div> <div><span class="Apple-tab-span" style="white-space:pre;line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>listView.setAdapter(adapter);</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</span></div> <div><span style="line-height:21.6000003814697px;">}</span></div> <div><span style="line-height:21.6000003814697px;"><br></span></div> <div><span style="line-height:21.6000003814697px;">class MyArrayAdapter extends ArrayAdapter<String> {</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>private final Context context;</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>private String[] values;</span></div> <div><span class="Apple-tab-span" style="white-space:pre;line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>public MyArrayAdapter(Context context, String[] values) {</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>super(context, R.layout.list_item, values);</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>this.context = context;</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>this.values = values;</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</span></div> <div><span class="Apple-tab-span" style="white-space:pre;line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>@Override</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>public View getView(int position, View convertView, ViewGroup parent) {</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>if(convertView == null) {</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>convertView = LayoutInflater.from(context).inflate(R.layout.list_item, parent, false);</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</span></div> <div><span class="Apple-tab-span" style="white-space:pre;line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>TextView textView = (TextView)convertView.findViewById(R.id.video_info_label);</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>textView.setText(values[position]);</span></div> <div><span class="Apple-tab-span" style="white-space:pre;line-height:21.6000003814697px;"> </span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>return convertView;</span></div> <div><span style="line-height:21.6000003814697px;"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</span></div> <div><span style="line-height:21.6000003814697px;">}</span></div></div> <div><span style="line-height:21.6000003814697px;"><br></span></div> <div><span style="line-height:21.6000003814697px;">주석처리 된 부분(빨강 글씨)으로 돌리면 왼쪽 결과가 나오구요</span></div> <div><span style="line-height:21.6000003814697px;">파랑글씨로 된 부분으로 돌리면 오른쪽 결과가 나와요..</span></div> <div><span style="line-height:21.6000003814697px;">여기서 어케 해야 빈 공간에의 터치도 먹힐까요? ㅜ.ㅜ</span></div>
<a href="http://blog.naver.com/finalboogi">글냥이의 4공간</a>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.