@@ -121,15 +121,86 @@ public void onItemClick(View view, int position) {
121121 }
122122 });
123123
124+ findViewById (R .id .bottom_left ).setOnClickListener (new View .OnClickListener () {
125+ @ Override
126+ public void onClick (View v ) {
127+ new CircleDialog .Builder ()
128+ .setPopupAnchor (v )
129+ .setPopupArrow (Gravity .BOTTOM , Gravity .LEFT )
130+ .setPopup (new String []{"1" , "2" , "3" , "4" }
131+ , new OnRvItemClickListener () {
132+ @ Override
133+ public void onItemClick (View view , int position ) {
134+
135+ }
136+ })
137+ .show (getSupportFragmentManager ());
138+ }
139+ });
140+ findViewById (R .id .bottom_center ).setOnClickListener (new View .OnClickListener () {
141+ @ Override
142+ public void onClick (View v ) {
143+ new CircleDialog .Builder ()
144+ .setPopupAnchor (v )
145+ .setPopupArrow (Gravity .BOTTOM , Gravity .CENTER_HORIZONTAL )
146+ .setPopup (new String []{"1" , "2" , "3" , "4" }
147+ , new OnRvItemClickListener () {
148+ @ Override
149+ public void onItemClick (View view , int position ) {
150+
151+ }
152+ })
153+ .show (getSupportFragmentManager ());
154+ }
155+ });
156+
157+ findViewById (R .id .bottom_right ).setOnClickListener (new View .OnClickListener () {
158+ @ Override
159+ public void onClick (View v ) {
160+ new CircleDialog .Builder ()
161+ .setPopupAnchor (v )
162+ .setPopupArrow (Gravity .BOTTOM , Gravity .RIGHT )
163+ .setPopup (new String []{"1" , "2" , "3" , "4" }
164+ , new OnRvItemClickListener () {
165+ @ Override
166+ public void onItemClick (View view , int position ) {
167+
168+ }
169+ })
170+ .show (getSupportFragmentManager ());
171+ }
172+ });
173+
124174 TabLayout tabLayout = findViewById (R .id .tab );
175+ TextView tabItemHK = new TextView (this );
176+ tabItemHK .setLayoutParams (new TabLayout .LayoutParams (TabLayout .LayoutParams .MATCH_PARENT
177+ , TabLayout .LayoutParams .MATCH_PARENT ));
178+ tabItemHK .setGravity (Gravity .CENTER );
179+ tabItemHK .setText ("香港" );
180+ tabLayout .addTab (tabLayout .newTab ().setCustomView (tabItemHK ));
181+
182+ TextView tabItemZH = new TextView (this );
183+ tabItemZH .setLayoutParams (new TabLayout .LayoutParams (TabLayout .LayoutParams .MATCH_PARENT
184+ , TabLayout .LayoutParams .MATCH_PARENT ));
185+ tabItemZH .setGravity (Gravity .CENTER );
186+ tabItemZH .setText ("珠海" );
187+ tabLayout .addTab (tabLayout .newTab ().setCustomView (tabItemZH ));
188+
189+ TextView tabItemHN = new TextView (this );
190+ tabItemHN .setLayoutParams (new TabLayout .LayoutParams (TabLayout .LayoutParams .MATCH_PARENT
191+ , TabLayout .LayoutParams .MATCH_PARENT ));
192+ tabItemHN .setGravity (Gravity .CENTER );
193+ tabItemHN .setText ("湖南" );
194+ tabLayout .addTab (tabLayout .newTab ().setCustomView (tabItemHN ));
195+
125196 tabLayout .addOnTabSelectedListener (new TabLayout .OnTabSelectedListener () {
126197 @ Override
127198 public void onTabSelected (TabLayout .Tab tab ) {
128199 switch (tab .getPosition ()) {
129200 case 0 :
130201 new CircleDialog .Builder ()
131- .setPopupAnchor (findViewById ( R . id . tab_hk ) )
132- .setPopupArrow (Gravity .BOTTOM , Gravity .LEFT )
202+ .setPopupAnchor (tabItemHK )
203+ .setPopupArrow (Gravity .BOTTOM , Gravity .CENTER_HORIZONTAL )
133204 .setPopup (new String []{"1" , "2" , "3" , "4" }
134205 , new OnRvItemClickListener () {
135206 @ Override
@@ -141,7 +212,7 @@ public void onItemClick(View view, int position) {
141212 break ;
142213 case 1 :
143214 new CircleDialog .Builder ()
144- .setPopupAnchor (findViewById ( R . id . tab_zh ) )
215+ .setPopupAnchor (tabItemZH )
145216 .setPopupArrow (Gravity .BOTTOM , Gravity .CENTER_HORIZONTAL )
146217 .setPopup (new String []{"1" , "2" , "3" , "4" }
147218 , new OnRvItemClickListener () {
@@ -154,8 +225,8 @@ public void onItemClick(View view, int position) {
154225 break ;
155226 case 2 :
156227 new CircleDialog .Builder ()
157- .setPopupAnchor (findViewById ( R . id . tab_hn ) )
158- .setPopupArrow (Gravity .BOTTOM , Gravity .RIGHT )
228+ .setPopupAnchor (tabItemHN )
229+ .setPopupArrow (Gravity .BOTTOM , Gravity .CENTER_HORIZONTAL )
159230 .setPopup (new String []{"1" , "2" , "3" , "4" }
160231 , new OnRvItemClickListener () {
161232 @ Override
@@ -311,11 +382,17 @@ public boolean onOptionsItemSelected(MenuItem item) {
311382 return true ;
312383 }
313384
314- public void showMyDialog (String string ) {
385+ public void showMyDialog (View anchor ) {
315386 new CircleDialog .Builder ()
316- .setTitle ("标题" )
317- .setText (string )
318- .setPositive ("确定" , null )
387+ .setPopupAnchor (anchor )
388+ .setPopupArrow (Gravity .TOP , Gravity .CENTER_HORIZONTAL )
389+ .setPopup (new String []{"1" , "2" , "3" , "4" }
390+ , new OnRvItemClickListener () {
391+ @ Override
392+ public void onItemClick (View view , int position ) {
393+
394+ }
395+ })
319396 .show (getSupportFragmentManager ());
320397 }
321398
@@ -352,7 +429,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
352429 parent , false );
353430 TextView textView = (TextView ) view .findViewById (android .R .id .text1 );
354431 textView .setText (getItem (position ));
355- textView .setOnClickListener (v -> activity .showMyDialog ((( TextView ) v ). getText (). toString () ));
432+ textView .setOnClickListener (v -> activity .showMyDialog (view ));
356433 return view ;
357434 }
358435 }
0 commit comments