Android 创建搜索栏
Android create seekbar
我有这个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="---------"
android:background="@color/cast_expanded_controller_background_color">
<VideoView
android:id="@+id/videoItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="50dp"
android:src="@drawable/sfondo_alto"
android:scaleType="centerCrop"
android:id="@+id/imageView2" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/back"
android:id="@+id/backBtn"
android:padding="10dp"/>
<TextView
android:id="@+id/titolo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView2"
android:layout_toRightOf="@+id/backBtn"
android:layout_toEndOf="@+id/backBtn"
android:layout_alignParentTop="true"
android:text="Un due tre prova un due"
android:textColor="@color/cast_expanded_controller_text_color"
android:gravity="center_vertical"
android:fontFamily="fonts/Quicksand_Bold"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:src="@drawable/sfondo_alto"
android:scaleType="centerCrop"
android:id="@+id/imageView6" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="13dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:src="@drawable/icona_pausa"
android:id="@+id/play_pausa" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="13dp"
android:src="@drawable/ridimensiona_grande"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/ridimensionaImage" />
<ImageView
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_marginBottom="22.5dp"
android:layout_marginRight="55dp"
android:layout_marginLeft="5dp"
android:src="@drawable/ret_bianco"
android:scaleType="centerCrop"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/ridimensionaImage"
android:layout_toRightOf="@+id/play_pausa"
android:layout_toEndOf="@+id/play_pausa" />
</RelativeLayout>
结果是这样的:
如何创建在搜索栏上移动的 ImageView(seekpoint)?
我还需要一种方法来在某个点按下 seekBar 并接收点击位置的百分比
这是一个远程视频播放器
抱歉英语不好,我是意大利人(:
将此添加到您的 xml 布局中
<SeekBar
android:id="@+id/seekBar_days"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:layout_weight=".7"
android:max="31"
android:maxHeight="3dp"
android:progressDrawable="@drawable/seekbar_progress"
android:thumb="@drawable/thum" />
创建可绘制资源seekbar_progress.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#80ffd300"
android:centerColor="#80ffb600"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="@color/primary"
android:angle="270"
/>
</shape>
</clip>
</item>
将此图像用作搜索栏点
要在 SeekBar 上获得滑块图标,请将其添加到您的 XML 并放置所需的可绘制对象。
android:thumb="@drawable/icon_slider_btn"
要获取 Seekbar 回调并跟踪进度,您必须像这样实现相关接口,
public class YourActivity implements SeekBar.OnSeekBarChangeListener{
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
//Do something with Progress,
int progress = seekBar.getProgress();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}
SeekBar 只是带有可拖动拇指的进度条。它用于设置值。拇指的位置将决定值。SeekBar 的最佳示例是音量设置,屏幕亮度等。
<SeekBar
android:id="@+id/seekBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:layout_weight=".7"
android:max="31"
android:maxHeight="3dp"
android:thumb="@drawable/thumb" />
Activity 中的实现见此处
http://www.techamongus.com/2017/03/android-create-seekbar-in-activity.html
我有这个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="---------"
android:background="@color/cast_expanded_controller_background_color">
<VideoView
android:id="@+id/videoItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="50dp"
android:src="@drawable/sfondo_alto"
android:scaleType="centerCrop"
android:id="@+id/imageView2" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/back"
android:id="@+id/backBtn"
android:padding="10dp"/>
<TextView
android:id="@+id/titolo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView2"
android:layout_toRightOf="@+id/backBtn"
android:layout_toEndOf="@+id/backBtn"
android:layout_alignParentTop="true"
android:text="Un due tre prova un due"
android:textColor="@color/cast_expanded_controller_text_color"
android:gravity="center_vertical"
android:fontFamily="fonts/Quicksand_Bold"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:src="@drawable/sfondo_alto"
android:scaleType="centerCrop"
android:id="@+id/imageView6" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="13dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:src="@drawable/icona_pausa"
android:id="@+id/play_pausa" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="13dp"
android:src="@drawable/ridimensiona_grande"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/ridimensionaImage" />
<ImageView
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_marginBottom="22.5dp"
android:layout_marginRight="55dp"
android:layout_marginLeft="5dp"
android:src="@drawable/ret_bianco"
android:scaleType="centerCrop"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/ridimensionaImage"
android:layout_toRightOf="@+id/play_pausa"
android:layout_toEndOf="@+id/play_pausa" />
</RelativeLayout>
结果是这样的:
如何创建在搜索栏上移动的 ImageView(seekpoint)? 我还需要一种方法来在某个点按下 seekBar 并接收点击位置的百分比
这是一个远程视频播放器 抱歉英语不好,我是意大利人(:
将此添加到您的 xml 布局中
<SeekBar
android:id="@+id/seekBar_days"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:layout_weight=".7"
android:max="31"
android:maxHeight="3dp"
android:progressDrawable="@drawable/seekbar_progress"
android:thumb="@drawable/thum" />
创建可绘制资源seekbar_progress.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#80ffd300"
android:centerColor="#80ffb600"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="@color/primary"
android:angle="270"
/>
</shape>
</clip>
</item>
将此图像用作搜索栏点
要在 SeekBar 上获得滑块图标,请将其添加到您的 XML 并放置所需的可绘制对象。
android:thumb="@drawable/icon_slider_btn"
要获取 Seekbar 回调并跟踪进度,您必须像这样实现相关接口,
public class YourActivity implements SeekBar.OnSeekBarChangeListener{
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
//Do something with Progress,
int progress = seekBar.getProgress();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}
SeekBar 只是带有可拖动拇指的进度条。它用于设置值。拇指的位置将决定值。SeekBar 的最佳示例是音量设置,屏幕亮度等。
<SeekBar
android:id="@+id/seekBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:layout_weight=".7"
android:max="31"
android:maxHeight="3dp"
android:thumb="@drawable/thumb" />
Activity 中的实现见此处
http://www.techamongus.com/2017/03/android-create-seekbar-in-activity.html